我很少听到有人使用.Net 控制反转(Ioc)原理.我有一些使用Java的朋友在Spring和PicoContainer中使用了更多的Ioc.
我理解从代码中删除依赖关系的原则......但我怀疑它是否更好.
为什么.Net程序员不使用(或使用更少)这些类型的框架?如果你这样做,从长远来看,你真的发现了积极的影响吗?
很多人在.NET中使用IOC,有几个框架可以帮助使用IoC.你可能会在WinForms方面看到它少,因为当你在Visual Studio中设计表单时让容器连接所有东西更难,但我可以说,对于服务器端.NET应用程序,我至少在那里工作,IoC非常成功.
为什么在.NET中使用它?出于同样的原因,你可以在其他地方使用它.我最喜欢的两件事是:
为IoC设计往往会强制执行良好的编码实践 - 设计接口,低耦合,高内聚.这也导致了很容易进行单元测试的类.
通常可以在不重新编译的情况下更改系统配置.
其他一些帖子讨论了.NET可用的不同IoC/DI框架:
哪个C#/ .net依赖注入框架值得研究?
我应该使用哪种依赖注入工具?