开发ASP.NET Web应用程序项目时要考虑哪个IOC?不同的IOC的优点是什么?

  1. 对象构造器
  2. 统一
  3. Spring.net
有帮助吗?

解决方案

它不在您的列表中,但请考虑查看 温莎城堡

诸如支持工厂之类的设施数量,以便将工厂产品注入工厂本身或WCF设施,用于注入代理或创建具有依赖性的主机。

具有一个不错的流利界面,可用于将单个项目接线,但最好使用惯例来自动启动电线,以便您不必列出每个组件。

其他一些不错的功能:

  • 自新修订以来,需要一个DLL。
  • 支持通过亚依赖性解析器注射列表和数组

这里 今年是一项民意调查,显示了受欢迎的IOC。 Unity似乎是顶级的,但这可能是因为它是Microsoft产品,Microsoft研讨会默认情况下会选择它。

其他提示

我们用 结构 在ASP.NET MVC项目中,发现它非常有用。唯一真正的缺点是有限的文档。自动线路的运作良好,如果您使用强惯例来命名课程和接口,例如:

 public interface ISomething { ... }

 public class Something: ISomething { ... }

在此之前,我们使用了spring.net,尽管我们放弃了这一点,因为它会做很多我们并不真正需要的其他(非IOC)事情,并且需要复杂的XML配置来完成我们需要的事情。作为IOC容器,它运行良好,并且非常灵活。

我建议您选择的任何关键是编码以允许使用IOC-我们在各处使用接口。这确实有助于单位测试以及带来的所有好处。

MVC3中的团结东西看起来也很有趣,但还没有机会玩它。

我怀疑许多人使用了其中的两个或三个以上,并且在我对Unity和Ninject的经验非常有限的情况下,最终结果并没有太大差异。他们有 轻微地 配置映射的不同选项,我敢肯定,一些更高级的功能有所不同,但是这些功能可能很少使用。归根结底,IOC容器的核心要求并不那么复杂 - 您很容易滚动。

更重要的是,您正在使用IOC模式,您选择哪种特定品牌可能对所得应用程序的质量没有显着影响。

对于它的价值,我建议仅仅因为它非常轻巧,我建议您进行ninject。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top