You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 2, 2018. It is now read-only.
The tricky part with supporting DI is that not all of the things can be codified into the interface definition. That would make it easier for sure but some of it is just impossible.
Right now we're researching a couple of things:
We're looking to see which components depend on specific features of the DI container (via some automation) and as part of it, we want to see if we can automate any of it.
We're looking at @tillig's suggestions (like writing a chaos container, one of our devs already wrote a second one)
We're trying to see if we build ordering on top via another service type (playing around with IOrdered<T>)
We're looking at the implementations of other adapters to see what things are impossible to implement (We could use everyone's help/feedback on this one).
As a result of the previous exercise, we're also looking to see what other requirements we can relax (last registration wins, closed generics falling back to open generics etc)
As for the a specific list of things we think can be candidates for potential removal:
Ordering - We're trying to build a service on top with some that can potentially handle this.
Last registration wins - We'll likely change the API around service collection to make sure that if multiple registrations make it into the container, resolving it as a single service fails.