Introduction I have been evangelizing the use of IoC for a number of years. Frequently the newly converted ask the following two questions: Which container to use? Which is fastest? My answer to the first is almost always the one you choose, and for the second question I refer them to Martin From’s IoCBattleweb page. I wont get into the reason for my answer to the first question in this post (I will save that for another day).
I just released Caliburn.Micro.Autofac 1.2.1 to NuGet. This is a minor patch release, call it the OOPS release if you will. My build script was not good enough yet. It should be fixed now. Please see Introducing Caliburn.Micro.Autofac for usage. Version Notes Fixed missing references in Caliburn.Micro.Autofac for .NET 4 Fixed incorrect AssemblyInfo.cs values for all projects
I just released Caliburn.Micro.Autofac 1.2 to NuGet. Please see Introducing Caliburn.Micro.Autofac for usage. Version Notes Upgraded .NET 4 and Silverlight 4 versions to Caliburn.Micro 1.2.0 Created a psake build script to be used in Continuous Integration Added new sample applications First version of Windows Phone 7 support Known Issues with Windows Phone 7 Support The SimpleContainer class is not supported or exposed by the container The PhoneContainer class is not supported or exposed by the container The IPhoneContainer class is not supported or exposed by the container Exposed new Creators for the Windows Phone Bootstrapper CreateFrameAdapter CreatePhoneApplicationServiceAdapter CreateVibrateController CreateSoundEffectPlayer
I just released Caliburn.Micro.Autofac 1.1 to NuGet. Please see Introducing Caliburn.Micro.Autofac for usage. Version Notes Cleaned up source directories slightly Refactored AssemblyInfo.cs into GlobalAssemblyInfo.cs, VersionAssemblyInfo.cs, and project AssemblyInfo.cs Upgraded Autofac to version 2.5.1 Added support for Silverlight 4 I have also started working on making this library compatible with Windows Phone 7, so look for that in the near future.
Last year I wrote Bootstrapping Caliburn.Micro with Autofac and it has since become one of my most popular posts. While the code presented in the post worked at that time, wizbit and Craigology pointed out that it stopped working with newer versions of Autofac. I set out to do the minimum amount of changes to make it work with the newest versions Autofac and Caliburn.Micro. The Best Laid Plans That was the plan.
It has been about two weeks since my last post in my Learning Caliburn.Micro series, so it far past the time for this post. Prepare the Project This post is going to focus on using the Autofac IoC with Caliburn.Micro. From the point of view of the framework it fulfills the same task as the MEF bootstrapper I discussed in Caliburn.Micro the MEFtacluar, or Rob discussed in Caliburn.Micro Soup to Nuts Pt.
I really like MEF and I really like proper IoC containers (let the flames begin). I do not think they are mutually exclusive, but best suited for different goals. I consider MEF to be a great way to perform macro level componentization. In other words, it is a way to wire up components that are physically in different assemblies, but it is not well suited for the micro level componentization in which I need to wire up my dependencies within my application.