IoC/Dependency Injection using the Castle Project
Many bloggers post top tools lists and I, for one, like to read them. It's always good to see what other people find useful, compare that with what you yourself are using and see if there's something they've found that can help make you more productive or expand your thinking.
Chris Brandsma has written a tool list and included Inversion Of Control (IoC) containers as a "highly thought of" tool. One of the best IoC Containers going around is the Castle Windsor container and Chris gave this one a mention. Personally, I've always liked the Castle Project and the fact that they've been pushing good design patterns into the .NET world for some time. [As a side note there's been a lot of hoo-ha over the Microsoft MVC implementation announced at ALT.NET recently. The Castle Project's MonoRail has been out for quite a while now and is a good MVC implementation for .NET available right now. It's a shame more kudos hasn't gone their way for the work they've done.]
Anyway, one of the other interesting things on Chris' tools list was a reference to a tutorial showing how IoC containers work in .NET using the Castle IoC Container. This is a really good 4-part tutorial and it's well worth a read.
It not only covers what IoC is and how it helps improve the design of your software (separation of concerns, anyone?) but it also shows you how to use the WIndsor container in multiple ways to improve you software's design. When you consider that an IoC container can help you manage the complexity of your software automatically and make your code so much easier to maintain (and test) then it's something you should definitely consider looking into, if you haven't already.