The Unity Application Block (Unity) is a lightweight, extensible dependency injection container with optional support for instance and type interception. It facilitates building loosely coupled applications and provides developers with the following advantages:
- Simplified object creation, especially for hierarchical object structures and dependencies.
- Abstraction of requirements; this allows developers to specify dependencies at run time or in configuration and simplify management of crosscutting concerns.
- Increased flexibility by deferring component configuration to the container.
- Service location capability; this allows clients to store or cache the container.
- Instance and type interception (via an extension introduced in this release).