Unity
With the release of Unity 1.0 we now have the Unity Contrib Project, which is a community-driven project where ObjectBuilder and Unity IoC Gurus can submit Unity Extensions, Samples, and other assets to share with the developer community.
Read More
Unity 1.0 was released from Microsoft Patterns & Practices. The Unity Application Block (Unity) is a lightweight extensible dependency injection container with support for constructor, property, and method call injection. It runs on top of ObjectBuilder 2.0.
Read More
This screencast shows step-by-step how to add the Unity IoC Container to an ASP.NET MVC Framework Application to create controllers and inject their dependencies. It discusses DefaultControllerFactory, IControllerFactory, ControllerBuilder, and registering and resolving types with IUnityContainer.
Read More
A new Unity release on March 24, 2008 that includes mapping of open generic types, the ability to specify injection configuration via a configuration file, and some performance improvements...
Read More
Grigori mentions that the release date for Unity has been rescheduled for April 7, 2008 as opposed to the original March 15, 2008. There is a good chance that Enterprise Library 4.0 CTP 1 will be pushed back to April 7th as well, but Grigori didn't say one way or the other.
Read More
I created a new Unity IoC Screencast based on a number of changes to the Unity API as well as a new release of the ASP.NET MVC Framework Preview 2. In addition to showing how to use Unity with ASP.NET Webforms Model-View-Presenter and the ASP.NET MVC Framework, the new Unity Screencast shows about a dozen common usages of Unity, including...
Read More
The Unity Dependency Injection Tool from Microsoft has a new installer this week as well as a new API for configuring injection so that you no longer need to add attributes to your classes to signal constructor, property, and method injection. Read more...
Read More
An updated code sample of using the Unity IoC Container with the ASP.NET MVC Framework based on the API Changes to Unity that occurred on the March 4th, 2008 Weekly Drop. Unity can be used in a CustomControllerFactory to create your MVC Controllers and inject dependencies. The sample code is modeled after the Castle Windsor Example in MVCContrib.
Read More
The March 4, 2008 Weekly Drop of Unity is out and includes a number of API Changes on how you register types, resolve instances, and control the lifetime of registered types. In general, SetSingleton is gone, Get has been replaced by Resolve, Register has been replaced by RegisterType, and RegisterType now contains overloads to add a LifeTimeManager Instance. Read more...
Read More
The Web Client Software Factory v2.0 Documentation mentions a new ObjectBuilder BuildPlanStrategy for object creation that replaces a number of other strategies that used reflection quite heavily: ConstructorReflectionStrategy, CreationStrategy, PropertyReflectionStrategy, and MethodReflectionStrategy. Unity will also be taking advantage of the DynamicMethodPlan Build Plan, which should provide a lot better performance for object creation in your applications.
Read More
The Unity Inversion of Control and Dependency Injection Container from Microsoft Patterns and Practices supports nested containers, where a Parent Container has the ability to create child containers. What is cool about the Parent-Child Relationship between UnityContainers is that by default Unity will search the local container to resolve a type mapping, and if not found, will navigate up to any Parent Containers to resolve the type. This provides the ability to override global ( parent ) type mappings with local ( child ) type mappings.
Read More
Grigori just mentioned the release plans for Unity 1.0 and Enterprise Library 4.0 which are a bit startling as they are right around the corner...
Read More
Unity has a few changes in the February 26th Drop: 1) SetLifetime method allows you to specify a LifetimeManager object for a particular dependency, 2) Teardown: Unity now has a Teardown method which objects can be run through to shut down / clean up / whatever you want, and 3) Extensions can implement IDisposable: If an extension object implements IDisposable, it now gets disposed when the container does. Read more...
Read More
The Unity Dependency Injection / IoC Container is new from Microsoft Patterns and Practices. It will come in both a stand-alone version and within Enterprise Library 4.0 as an alternate configuration mechanism for the application blocks. This screencast shows several common usages of Unity as well as how to use Unity with both the ASP.NET MVC Framework and with ASP.NET Webforms using Model-View-Presenter.
Read More
The Unity IoC Tutorials provided to date using the ASP.NET MVC Framework and ASP.NET Model-View-Presenter have programmatically added services and components via the Register and SetSingleton Methods on UnityContainer. In this Unity Tutorial, I will populate the UnityContainer from services registered in a Web.config file. One can easily use an App.config file as well.
Read More
The Unity IoC Container can be used in your ASP.NET Web Applications to provide dependency injection, especially when using Model-View-Presenter. There are several ways that one can use Unity to wire-up the presenter class and its dependencies to the ASP.NET view. In this example, I will use a Page Base Class that accesses the UnityContainer on the HttpApplication Class and uses Unity to create an instance of the Presenter Class associated with the view.
Read More
The Microsoft Patterns and Practices Team released the February 2008 CTP of the Unity Dependency Injection Container. Unity will be offered as both a stand-alone dependency injection container and as a configuration option within Enterprise Library 4.0. Unity uses ObjectBuilder 2.0 as its underlying engine...
Read More
The new Unity Dependency Injection Container available as stand-alone or within Enterprise Library 4.0 uses ObjectBuilder 2.0. ObjectBuilder 2.0 was started by Brad Wilson and Scott Densmore for use as the Dependency Injection Container for CodePlex. ObjectBuilder 2.0 will now be used as the shiny, new engine for both Enterprise Library 4.0 and Unity...
Read More
David Hayden is presenting Introduction to Aspect-Oriented Programming (AOP) at the IASA Tampa Chapter on February 28, 2008. Write less code and create more maintainable applications by leveraging AOP to handle logging, caching, validation, security, and other cross-cutting concerns. In this presentation we will explore AOP functionality built into numerous tools and frameworks such as Castle Windsor, SpringFramework.NET, Enterprise Library's Policy Injection Application Block, and PostSharp so you can better understand its benefits and how to use it in your own applications. If available by the time of the meeting, I will also show off the Unity Dependency Injection Container in Enterprise Library 4.0 and how to incorporate AOP with it.
Read More
The Composite Web Application Block ( CWAB ) in the Web Client Software Factory can be used in the ASP.NET MVC Framework for business module discovery and initialization as well as dependency injection of Controllers. In this quick tutorial I will show you code snippets for doing this from my presentation at the South Florida Code Camp. We will also use the StateValue<T> Class to abstract out the fact that we store our Shopping Cart for our green tea store in Session State. Evolution of the WCSF to use the Unity Dependency Injection Container in Enterprise Library 4.0 would be a natural progression when Enterprise Library 4.0 is released.
Read More
For you lucky devils in Redmond - Unity is Microsoft's lightweight, extensible dependency injection container. Microsoft patterns & practices will host Unity Extensibility Workshop to walk the participants through the design of Unity container and its extensibility model. You will become familiar with all aspects of the container infrastructure and container extensions: from using existing extensions to building your own. A special attention will be given to the integration of Unity with Enterprise Library 4.0 and the refactored application blocks.
Read More
Unity will be the name of the dependency injection application block in Enterprise Library 4.0. Unity will be released in two forms - 1) a standalone container, and 2) an application block in Enterprise Library 4.0 with the existing application blocks refactored to support Unity. Unity will support a standard API for retrieving and registering items, a fluent interface, and a ContainerExtension mechanism for third party integration.
Read More