The release is available on MSDN
. This includes the main installer, plus integrated documentation for Visual Studio 2005 and Visual Studio 2008.
A Silverlight port is also available on MSDN
What is Unity?
The Unity Application Block (Unity) is a lightweight, extensible dependency injection 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
- Instance and type interception (via an extension introduced in this release)
The Unity Application Block 1.2 release contains the following changes to the previous release (Unity 1.1 – May 2008):
- Added an interception mechanism (extension) and integration of the Policy Injection Application Block with the Unity Application Block.
- Added two instance interceptors (TransparentProxyInterceptor, InterfaceInterceptor) and one type interceptor (VirtualMethodInterceptor).
- Added support for generics.
- Added support for arrays.
- Registered names are now available as an ObjectBuilder policy so that you can do a ResolveAll from within the strategy chain. The container automatically registers itself with itself.
- Added PerThreadLifeTimeManager.
- Bug fixes.
- Performance improvements.
For an introduction to dependency injection, see the article Inversion of Control Containers and the Dependency Injection pattern by Martin Fowler. Two Quickstarts packaged with the release are also a good start.
In addition, check out the Introduction to dependency injection with Unity webcast. We plan on recording another two videos on Unity Extensibility and on how to use the Interception extension and build your own custom call handlers.
Information on Microsoft patterns & practices
- Visit us at http://msdn.microsoft.com/practices/ to see the full line of existing patterns & practices.