Carl and Richard got me talking about Unity, Enterprise Library, and the Software Factories on .NET Rocks! Show #393. I haven’t had a chance to listen to the show, but I remember being pretty excited about Unity, not so much about the technical aspects, but what I think Unity will mean in the long run:
- Migration Path for Those On ObjectBuilder – I have a couple of customers who had written a custom container on ObjectBuilder and they were looking for a migration path to a dependency injection container without sacrificing a number of customizations they did for ObjectBuilder. Here is a chance for these companies to move to Unity with a good chance of keeping those customizations.
- A Nimbler Enterprise Library? – I am hoping future versions of Enterprise Library may benefit from Unity by being a bit more lighter weight, easier to extend, and easier to configure. Although I enjoy Enterprise Library, I am always looking forward to its continued progression of being more of a library of services and less of a framework. Not sure if Unity can help here, but any simplification in extensibility and configuration is always enjoyed no matter what library or framework is in question.
- Quicker Developed and More Loosely-Coupled Software Factories – I felt that many of the earlier software factories, like the Smart Client and Web Client Software Factories, were too tightly coupled to ObjectBuilder and the custom dependency injection container built on top of them. I also presume too many development cycles were used to create those custom containers. By leveraging Unity, newer guidances like Prism don’t require time spent on a custom container and are a lot more loosely coupled from the container. By using Unity it also allows other developers to substitute their favorite dependency injection container for Unity when desired.
For those interested in the technical aspects, however, Unity v1.2 has a lot of really nice features and bug fixes like array injection, better support for generic decorator chains, and the really cool Interception Extension with your choice of three injectors – you have the two new injectors that support interfaces and virtual methods as well as the transparent proxy injector from the Policy Injection Application Block.
And for those who really like Enterprise Library, you have the various Unity Extensions that ship with Enterprise Library to make registration of the various Enterprise Library Services into Unity a snap.
Check out the .NET Rocks! Show. Thanks to Carl and Richard for the invitation to be on the show!