Com.MarcusTS.SmartDI.Lib (nuget): A container that creates and then (optionally) stores variables to provide caching and centralized access.  These sorts of containers are sometimes misdescribed as IOC ("Inversion of Control") Containers. Since they do not provide any control over program flow, the accurate term is DI ("Dependency Injection") Container.  The SmartDI Container is unique in that it:  * Does not store instantiated objects unnecessarily.  * Supports object life-cycle management. When an object dies, it is removed from the container.  This requires you to implement an interface.  * Indexes a shared container class instance to the objects that share it so that when those objects die, the container class instance is also removed.  This does not requires any other interfaces or management steps.
Keywords: IOC|Container|DI|Object|Lifecycle|Safe