Re: Capabilities interact nicely with Substructural Types and Reactivity

Bennie Kloosteman <[email protected]>
Newsgroups gmane.comp.capabilities.general
Message-ID <CAJT18iaTcW8_kMihss0z39nMK0i3U-9sifbP8rTLULF6=rH9Vw@mail.gmail.com>
Containers are being used as factories ..

IOC with containers are a plague at the moment .. its just so easy to go
Container.GetInstance<Type>();   this code is a pain to maintain , which
can be mitigated by constructor injection .

However the keypoint i want to make is i have seen several open source
projects eg ecommerce  with a major vulnerability  ( and even closed source
but its harder) .. all you need to do is list a free add in eg for
nopCommerce a new skin, people with download and install it . In your skin
you then go Container..GetInstance<ICreditCardService> and you can do all
sorts of nasty things with no one the wiser ( even the cryptography is open
to you) .

The obvious solution is many containers ( which can create modules)  in the
code since  only a payment or cart extention should have  access to
ICreditCardService but i dont see that much.

Ben


On Fri, Sep 13, 2013 at 12:21 AM, David Barbour <[email protected]> wrote:

> I wasn't speaking of creating any *particular class*, but rather the
> ambient authority to `new` in general.
>
> OOP enables arbitrary subprograms to create internal state and identity.
> I.e. the concepts of "state" (including mutable private members) and
> "identity" (which can include sealer/unsealer pairs, GUIDs, `eq` on object
> references, or even construction of random values) are ambient authorities
> in most OOP languages.
>
> Private constructors have no effect on this at all.
>
>
>

_______________________________________________
cap-talk mailing list
[email protected]
http://www.eros-os.org/mailman/listinfo/cap-talk
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.