Ioc-Interop Now Open For Public Review
I am pleased to announce that the Ioc-Interop standard interface package is now open for public review.
Ioc-Interop provides an interoperable package of standard interfaces for inversion-of-control (IOC) service container functionality. It reflects, refines, and reconciles the common practices identified within several pre-existing projects.
Ioc-Interop is functionally almost identical to PSR-11. However, Ioc-Interop
is intended to contain only services (object). PSR-11 is intended to contain
anything (mixed).
Ioc-Interop also offers an IocContainerFactory interface, whereas PSR-11 offers none.
Ioc-Interop is focused on the concerns around obtaining and consuming services. The affordances for managing and producing services are a set of separate concerns. Earlier drafts of Ioc-Interop were much more expansive, including a resolver subsystem and a service management subsystem. These have been extracted to separate standards, each of which is dependent on Ioc-Interop:
This separation helps to maintain a boundary between the needs of service consumers (afforded by Ioc-Interop) and service producers (afforded by Service-Interop and Resolver-Interop).
Note that Ioc-Interop is independent of Service-Interop and Resolver-Interop. Ioc-Interop implementations can use them, or avoid them, as implementors see fit.
The reference implementations demonstrate how the interfaces can be used.
Please offer your comments and criticism as issues or PRs out at Github.