Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do the major C# DI/IoC frameworks compare? [closed]

At the risk of stepping into holy war territory, What are the strengths and weaknesses of these popular DI/IoC frameworks, and could one easily be considered the best? ..:

  • Ninject
  • Unity
  • Castle.Windsor
  • Autofac
  • StructureMap

Are there any other DI/IoC Frameworks for C# that I haven't listed here?

In context of my use case, I'm building a client WPF app, and a WCF/SQL services infrastructure, ease of use (especially in terms of clear and concise syntax), consistent documentation, good community support and performance are all important factors in my choice.

Update:

The resources and duplicate questions cited appear to be out of date, can someone with knowledge of all these frameworks come forward and provide some real insight?

I realise that most opinion on this subject is likely to be biased, but I am hoping that someone has taken the time to study all these frameworks and have at least a generally objective comparison.

I am quite willing to make my own investigations if this hasn't been done before, but I assumed this was something at least a few people had done already.

Second Update:

If you do have experience with more than one DI/IoC container, please rank and summarise the pros and cons of those, thank you. This isn't an exercise in discovering all the obscure little containers that people have made, I'm looking for comparisons between the popular (and active) frameworks.

like image 969
ocodo Avatar asked Jan 03 '11 02:01

ocodo


People also ask

What is C major in piano?

C major (or the key of C) is a major scale based on C, consisting of the pitches C, D, E, F, G, A, and B. C major is one of the most common keys used in music. Its key signature has no flats and no sharps. Its relative minor is A minor and its parallel minor is C minor.

How is C major written?

If you start the scale on the note C, the notes in order will be C-D-E-F-G-A-B—this is the C major scale. If you play these same notes, but start on the note A, the notes in order will be A-B-C-D-E-F-G—this is the A natural minor scale.


1 Answers

While a comprehensive answer to this question takes up hundreds of pages of my book, here's a quick comparison chart that I'm still working on:

A table explaining difference between several DICs

like image 70
Mark Seemann Avatar answered Sep 23 '22 05:09

Mark Seemann