当为.NET选择依赖注入框架时,我应该考虑什么

see also 07000

现在有许多dependency injection框架可供选择。由于您使用的库,您常常被迫使用给定的依赖注入框架。然而,Common Service Locator library使库代码独立于注入框架。

学习他们所有的人足以决定使用哪个时间是不合理的。我不相信我们还没有达到一个阶段,我们可以谈论最好的依赖注入框架。那么,我应该问什么问题关于项目和我自己帮助决定最佳的依赖注入框架在给定的情况下使用?

知道为什么选择你当前使用的依赖注入框架并且如果你仍然对这个选择感到满意也将是有用的。

在比较依赖注入框架的样式时,是否还有一个有用的词汇表?

服务定位器库是否在现实生活中工作,或者你是否被迫在同一个项目中使用大量不同的依赖注入框架?

每个依赖注入框架代码的折射率是多么容易,例如像ReSharper这样的工具在给定的框架下工作得很好?

FYI,就在今天上午,我在所有.NET IoC容器之间遇到了一个有趣的比较:

http://elegantcode.com/2009/01/07/ioc-libraries-compared/

几个问题:

>你需要多少主流支持?Spring可能是最大的一个。每个人都使用它或已经听说过,现在,这么多的信息。它也可能有最大数量的功能,但这意味着只有更多的学习。一个较小的容器,如Autofac可能很好,但你可能会遇到一个问题,你不会找到帮助。
>你是否方便w / Xml配置?每个IoC容器依赖于某种类型的配置和设置。Spring和团结是Xml重。
>这是永久的选择吗?如果你是在那些地方,你只有一个选择的一个镜头,这没关系。但是,如果你想在路上选择另一个解决方案,你可能不想要一个IoC,需要你的属性你的类(排序上面的问题的逆),因为你会讨厌自己,当你必须撕裂所有那东西。相比之下,wwapping out一些xml配置可能不是那么痛苦。
>你的商店是什么样的?我有麻烦投资几个开源选项只是因为“喘气!它不是微软!反应。如果你是一个直接的MS商店,使用Unity将是一个更容易的文化胜利。

个人注意:

我使用StructureMap与我链接的博客中提到的相同的原因。我认为Xml配置是一个巨大的痛苦来维护,特别是调试(见WCF)。我还没有尝试过Ninject,但基于他们的营销,它一定是超级!

相关文章

什么是设计模式一套被反复使用、多数人知晓的、经过分类编目...
单一职责原则定义(Single Responsibility Principle,SRP)...
动态代理和CGLib代理分不清吗,看看这篇文章,写的非常好,强...
适配器模式将一个类的接口转换成客户期望的另一个接口,使得...
策略模式定义了一系列算法族,并封装在类中,它们之间可以互...
设计模式讲的是如何编写可扩展、可维护、可读的高质量代码,...