用.net反转控制

Pat*_*ins 6 .net c# dependency-injection inversion-of-control

我很少听到有人使用.Net 控制反转(Ioc)原理.我有一些使用Java的朋友在Spring和PicoContainer中使用了更多的Ioc.

我理解从代码中删除依赖关系的原则......但我怀疑它是否更好.

为什么.Net程序员不使用(或使用更少)这些类型的框架?如果你这样做,从长远来看,你真的发现了积极的影响吗?

Chr*_*org 6

很多人在.NET中使用IOC,有几个框架可以帮助使用IoC.你可能会在WinForms方面看到它少,因为当你在Visual Studio中设计表单时让容器连接所有东西更难,但我可以说,对于服务器端.NET应用程序,我至少在那里工作,IoC非常成功.

为什么在.NET中使用它?出于同样的原因,你可以在其他地方使用它.我最喜欢的两件事是:

  • 为IoC设计往往会强制执行良好的编码实践 - 设计接口,低耦合,高内聚.这也导致了很容易进行单元测试的类.
  • 通常可以在不重新编译的情况下更改系统配置.

其他一些帖子讨论了.NET可用的不同IoC/DI框架: