The Unity Application Block (Unity) is a lightweight, extensible dependency injection (DI) container. 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.

·          MSDN site:

·   Community Forum: