I never much of a blogger myself but me best mate (Lucas Pains) persuaded that it would be good to publish this on a blog so I hope this will aid other developers in regard of this topic.
IoC Container Comparison Matrix (2011)
Current version
|
2.5.2
|
2.5.3
|
2.1
|
2.6.1
|
1.3.2
|
2.2
|
.Net supported Version for current release
|
3.5 and 4.0
|
3.5
|
3.5 and 4.0
|
3.5
|
3.5 and 4.0
|
4.0, 3.5, Mono 2.0, Compact Framework 3.5
|
NuGet available?
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
Method injection
|
Yes
|
?
|
Yes
|
?
|
Yes
|
Yes
|
Constructor Injection
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
Property injection
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
Automatic Registration
|
Yes
|
Yes, obsolete
|
No
|
Yes
|
Not easy
|
Yes
|
Lambda support when creating /resolving objects
|
Yes
|
Not found. Documentation is out.
|
?
|
Yes
|
?
|
Yes
|
Fluent Interface
|
Yes
|
Yes
|
Yes
|
Yes
|
No
|
Yes
|
Singleton lifetime support
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
Transient lifetime support
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
Custom Lifetime support
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
Nested Containers
|
Yes
|
Yes
|
Yes
|
Yes
|
Probably not.
|
Yes. Needs extension.
|
Xml configuration
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes. Needs extension.
|
Interception
|
Yes with DynamicProxy2
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes. Needs extension.
|
Supports Auto Mocking
|
NMock2
|
No
|
Needs extension
|
Rhino Mocks, Rhino Mocks AAA, and Moq out of the box
|
No
|
Yes. Needs extension.
|
Code generation approach
|
?
|
?
|
?
|
IL generation
|
?
|
?
|
AOP
|
Yes with DynamicProxy2
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes. Needs extension.
|
Test Framework Integration
|
?
|
?
|
?
|
?
|
Nunit, MsTest
|
?
|
Windows Phone 7 Integration
|
Yes
|
No
|
No
|
No
|
No
|
Yes
|
MVC integration
|
Yes
|
?
|
Not really. MVC Turbine is an option.
|
Not really. MVC Turbine is an option.
|
Yes. MVC 2.0 and 3.0
|
Yes. Needs extension.
|
WCF Integration
|
Yes
|
Yes
|
Not really
|
?
|
Yes
|
Yes. Needs extension.
|
WPF/Silverlight Integration
|
Prism, MEF
|
Yes
|
Yes
|
?
|
?
|
Yes
|
Visual Studio Extension/Integration
|
?
|
?
|
?
|
?
|
Yes
|
?
|
Release Activity
|
High. Last release August 12th, 2011
|
High. Last release August 15th, 2011
|
Very low. Last release on May 2011
|
Low. Last release on February, 2010
|
Medium. Last release August 1st, 2011
|
Medium to low.
|
License
|
Open source, MIT License
|
Open Source, Apache License Version 2.0
|
Open Source, Microsoft public License (Ms-PL)
|
Open Source, Apache License Version 2.0
|
Open Source, Apache License Version 2.0
|
Open Source, Apache License Version 2.0
|
In conclusion, they all vary in the features one way or another. It really depends on your needs, taste, comfort zone and various reasons. At this point, I believe that Autofac would be best and sufficient for our solution along with a Mocking framework to assist.
Hope this helps......... Enjoy.
PS: Please contribute some comments as this is my first Blog and would also like to learn from all of you.
No comments:
Post a Comment