MS Unity?
Microsoft readies Unity for software development
Microsoft's patterns and practices group has released a February Community Technology Preview of Unity, a lightweight extensible dependency injection container for software development.
Dependency injection is a technique for building loosely coupled applications.
Offered on CodePlex, Microsoft's open source project site, Unity Application Block, or Unity for short, addresses the issues faced by developers using component-based software engineering, according to a CodePlex Web page on the project.
Link: http://www.codeplex.com/unity
Modern business applications feature custom business objects and components that perform specific or generic tasks in addition to components that address cross-cutting concerns such as logging, authentication, caching and exception handling. The key to building these applications, according to Microsoft, is to achieve a decoupled or very loosely coupled design. These applications are more flexible and easier to test.
Dependency injection can handle dependencies between objects, such as an object that processes customer information, which may depend on other objects that access that data store, validate the information and check that the user is authorized to perform updates.
Unity is geared to Visual Studio 2005 but can work with applications built in Visual Studio 2008 if users set a reference to the binary assemblies. The final release of Unity is planned for March 15.
Source: http://weblog.infoworld.com/techwatch/archives/016122.html