A container that creates and then (optionally) stores variables to provide caching and centralized access.
These sorts of containers are sometimes mis-described as IOC ("Inversion of Control") Containers. Since they do not provide any control over program flow, the accurate term is DI...
Simple dependency injection container with separated configuration that supports
Transient and Singleton dependency lifestyles, scopes, constructor and property injection,
named dependencies and open generic dependencies and other features.