2011-04-14 108 views
16

我正在为新的.NET应用程序选择依赖注入框架。这里有很多令人困惑的框架,包括Ninject,StructureMap,Unity,Castle Windsor,Spring.NET等等。我从不相信任何一种工具绝对比其他任何工具都好或者更差;它总是依赖于上下文和约束。有鉴于此,任何人都可以提供各种.NET依赖注入框架的优点和缺点,相互对立吗?哪些更适合小项目,大项目等?对于哪些类型的项目,架构和开发团队各自工作得最好还是不太好?从那些谁已与一些这些框架的工作的任何智慧将是非常有益...各种.NET依赖注入框架的比较(优缺点)

+2

重复:http://stackoverflow.com/questions/4581791/how-do-the-major-c-di-ioc -frameworks-compare – 2011-04-14 06:25:52

回答

4

其实有两个综合比较不已:

我个人更喜欢Ninject,因为它有利于约定优于配置。它还使用lambda表达式和其他C#3.0好东西(以.net 2.0为代价),这使得它的语法清晰。

+0

这两篇文章都没有提到MEF,但它是另一个值得考虑的优秀人选。 – STW 2011-04-14 03:26:55

+1

@Teoman我以前读过Hanselman的文章;它确实列出了各种框架的一些一般特征(截至2008年,因此它有点过时),但并没有真正把它们放在项目/应用程序的上下文中。我没有看到Rich Newman系列,你说得对,它很全面! ...但它没有看到一些流行的.NET框架,如StructureMap,Ninject等。仍然,+1为一个有用的答案.... – 2011-04-14 03:27:45

+0

和+1的好问题:)据我所知, Ninject是最新的IoC容器,但由于它是相对较新的版本(特别是2.0版本使它真的具有竞争力),因此它没有太多评论。 – 2011-04-14 03:34:23