-
Notifications
You must be signed in to change notification settings - Fork 2
Description
Reviewing this, two things occur to me.
First, it appears that the specification is largely an interface indirectly extracted from (or based on) the interfaces of a few popular implementations.
What about simpler containers, such as Pimple or my own Unbox?
I mean, you could of course create adapters, which would simply discard all the extra information and structure embedded in these models, but that kind of misses the point of choosing one of these simpler containers - which was to get simplicity. Now you're getting the same amount of complexity for something that was designed to be much, much simpler.
In other words, I need to provide all this extra information and structure to satisfy the more complex containers. That seems to favor the more complex containers, which seems somewhat opinionated?
Secondly, if the interfaces are going to contain this much detail and structure, it almost seems like there's no real point in making everyone go out and implement the interfaces in the first place. If everyone is going to be implementing largely the same thing to make their container work the same way, why not simply provide an implementation instead of a set of interfaces?
Maybe I'm missing something?
I'm take it you've been experimenting with implementations for containers that actually support things like parameters and factory call definitions as objects?
I'd like to see what an implementation for e.g. Pimple would look like.
I think in order to proove this idea, it's important to demonstrate that this can be implemented, and has some kind of value or purpose, even for containers at the opposite end of the complexity spectrum.