3

很久以前,我在幾個月前觀看這個節目http://www.dnrtv.com/default.aspx?showNum=126時創建了一個IoC容器,並使用它做了一個小例子,並且工作正常。使用第三方依賴注入容器比使用我建立的第三方依賴注入容器有什麼好處?

現在我正在使用unity作爲我開始項目中的依賴項注入容器,並且還在以前的小MVC網站中嘗試了NInject

但是我現在問自己,這些容器對於我在節目中創建的容器有什麼好處,我只能看到它從配置文件加載,我可以在我的配置文件中加載,還有其他的我失蹤?我只是想要一個人告訴我,你必須使用這些容器,因爲有1,2,3個比你更好的原因。

+1

誰將會保持你的代碼有一天能告訴你的區別。 – 2010-11-21 14:13:58

回答

7

首先,這些容器被廣泛使用,因此在現實世界的情況下經過了充分測試 - 我不知道您的情況。

他們對許多開發人員也有很好的記錄和熟悉,所以如果在一個團隊工作,就沒有必要教別人關於你的。

一些容器提供流暢的配置(即代碼中的配置),這可以在編譯時和運行時間內提供類型安全性。

但是,如果您的容器適用於您,並且沒有其他開發人員參與,爲何要更改?

4

其他IoC容器會:

  • 更加成熟和最有可能bug更少
  • 有更好的表現
  • 被別人保持
  • 有更多的功能覆蓋更多的場景比你最初想到
  • 已經與其他開箱即用的框架(如MVC,WCF等)進行了整合
  • 有一個社區討論問題以及如何解決這些問題

用你自己的,你會是一個很長的路,並且不會得到上面提到的所有東西的支持。

如果您的目標是建立與已經存在的玩家(如Autofac,Ninject,Unity等)競爭的東西,那麼製作您的產品。