使用第三方依赖注入容器而不是使用我构建的容器有什么好处?

时间:2010-11-21 10:26:40

标签: .net dependency-injection unity-container ioc-container ninject

我很久以前在几个月前观看这个节目http://www.dnrtv.com/default.aspx?showNum=126时制作了一个IoC容器,并使用它做了一个小样本,并且工作正常。

现在我在我正在开始的项目中使用unity作为依赖注入容器,并且还在之前的小型MVC网站中尝试了NInject

但是我现在问自己,这些容器比我从节目中创建的容器有什么好处,我只能看到它从配置文件中加载,我可以在我的设备文件中加载,还有其他我想念的东西?我只想要一个人告诉我你必须使用这些容器因为1,2,3个理由比你的好。

2 个答案:

答案 0 :(得分:7)

首先,这些容器被广泛使用,因此在现实世界中经过充分测试 - 我不了解你的。

对于许多开发人员来说,他们也有很好的文档记录和熟悉,因此如果在团队中工作,则无需向其他人介绍您的。

某些容器提供流畅的配置(即代码中的配置),这使您在编译时与运行时间之间的类型安全。

但是,如果您的容器适合您并且没有其他开发人员参与,为什么要更改?

答案 1 :(得分:4)

其他IoC容器会:

  • 更成熟,更有可能减少错误
  • 有更好的表现
  • 由其他人维护
  • 有更多功能涵盖比您原先想到的更多场景
  • 与开箱即用的其他框架(例如MVC,WCF等)集成
  • 有一个社区讨论问题以及如何解决这些问题

有了你自己,你会落后一步,并且不会得到上述所有事情的支持。

如果您的目标是构建与已经存在的玩家竞争的东西(例如Autofac,Ninject,Unity等),那就把它作为您的产品。