Nick Blumhardt's IOC course

This is an old post and doesn't necessarily reflect my current thinking on a topic, and some links or images may not work. The text is preserved here for posterity.

Friend and colleage Nick Blumhardt will be running a course on Inversion of Control in May this year.

Nick is known for building a popular IOC container. He's also put a lot of thought into the role of IOC containers in projects, and I consider him a major thought leader in the space.

As an example, many IOC containers have supported the ability to resolve an array of dependencies, or to inject a Func<T>. Nick put a lot more thought into this, defining what he calls the "relationship zoo". The resulting implementation in Autofac meant that we got a lot of extra features, like Lazy<T> and Meta<T>, which is very useful. Lesser containers are still catching up.

These kinds of insights into what a container should be are very educational. I knew how to use an IOC container before meeting Nick, but I learnt a lot about why and when by working with him.

If you'd be interested in attending Nick's course, and would like to suggest content, leave a comment on his blog. Even if you're not so interested in IOC, I'd recommend attending his course just to absorb the ideas that come from spending time in a room with the guy. Highly recommended.