Unity is a lightweight, extensible, Dependency injection container developed by the patterns & practices team with the following features:
1. It provides a mechanism for creating (or assembling) object instances, which may also contain other dependent object instances.
2. Unity allows pre-configured objects to be injected into the class, implementing the inversion of Control (IoC) functionality. In unity, support for constructor injection (constructor injection), property setter Injection (attribute SetPoint injection), and method call injection (methods injection) are supported.
3. Support the architecture of the container. A container can have child containers that allow queries to be positioned from the child container to the parent container's object.
4. The container can be prepared and configured through a configuration file.
5. The definition of the class is not affected (except for attribute-value injection and method injection), which is also a manifestation of lightweight containers.
6. Support for custom container extensions.
What is Unity?