views:

2063

answers:

3

With so many IoC containers is there a decision matrix to help in narrowing them down based on features, supported platforms, etc.?

+4  A: 

More is certainly better than less.

There's a good comparison on this blog. And part 2 here.

Mircea Grelus
The comparison led me to use autofac, w/ great results
Scott Weinstein
Note, ninject IMHO is one of the cleanest and most complete IoC containers, it has had a LOT of updates in the last 6 months http://github.com/enkari/ninject/network
Sam Saffron
I'd put a vote on NInject too... considering I decided to try and understand the source, and it was so clean and well factored I had no trouble following it on first reading.
jerryjvl
This is the best comparison so far. It is somewhat limited on the number of IoC frameworks covered and missed some features that are important to my project such as Compact Framework support (NInject supports CF).
Jason Morse
The community really needs a wiki that can be kept up to date for this.
Derek Greer
A: 

Here is another comparison by Scott Hanselman.

mxmissile
Thats really out of date ...
Sam Saffron
As compared to what?
mxmissile
A: 

Another one worth looking at is MEF, it's not strictly an IoC container, but employs many of the same techniques. The important thing to keep in mind is that it is going to ship with .Net 4.0.

I really love the way Nate does stuff with Ninject, it is so clean and a very active project and I would strongly recommend it (even over MEF).

Make sure you look at the history of check-ins for all your candidate containers, if there are few to no updates in the last 6-12 months I would stay clear of them, no matter what the comparison matrix says.

Also, I would look at the test cases for the frameworks, and make sure they make sense. You don't want to be stuck with a over complicated IoC container.

Sam Saffron