2008-11-20 74 views

回答

10

詹姆斯·科瓦奇做了dnrtv screencast在那裏他展示瞭如何創建自己的IOC容器。我向初學者推薦這不是因爲它一定是你想要使用的,而是因爲它顯示了你爲什麼需要IOC容器的基礎知識以及基本功能是什麼。在此之後,請嘗試移至Castle WindsorStructure Map

0

我對Spring.NET port做了一些評估。它提供了AOP,容器的配置文件設置以及其他很酷的東西。我認爲他們的網站組織良好,文檔寫得很好。

+0

您是否還購買過Java Spring書?或者只依靠文檔。我想我必須在下週開始挖掘。謝謝。 – BuddyJoe 2008-11-20 03:32:11

5

我記得在Castle's Windsor上有一些非常簡單的tutorials from BitterCoder,我發現它很有幫助且易於遵循。

即使您決定使用Windsor或不使用Windsor,那些演練仍應該能夠讓您瞭解其他容器所需的特性/功能類型。

0

我會說Struc tureMap。它是更成熟的框架之一,並且非常易於使用。此外,它可以很好地與NMock集成,創建對單元測試非常有用的模擬對象。 微軟支持的框架是Unity,所以你也可以看看。

0

我同意dp。該截屏的作者甚至說,你應該推出你的。這樣你就會知道他們是如何工作的。然後,一旦你有了這些,你可以繼續閱讀更全面的專欄。

也有人提到,真的沒有一個「一個國際奧委會容器來統治他們」。這是因爲它們幾乎都具有相同的功能。這歸結於你喜歡哪個實現。例如,如果您正在使用企業庫框架,那麼您可能會偏好Unity容器,因爲您可以免費獲得與EntLib其餘部分的綁定。或者,也許你對XML過敏,那麼你可以使用Ninject,它有一個非常漂亮的流暢界面。每個框架都有其優點和缺點,但從初學者的角度來看,它們幾乎是一樣的。

6

Autofac.

輕巧,操作簡單,快捷,C#3.0爲導向,以工作(對我來說)比其他任何IOC容器(溫莎連)複雜的項目更好。

主要特點:

  • 確定性處置組件
  • 表達爲基礎的配置
  • 多範圍的組件,分辨率適當的支持
  • 高性能
  • 精益代碼庫
4

有一個偉大的通過Mark Seemann預訂,名爲Dependency Injection In .Net。本書的後半部分涵蓋了足夠詳細的6個流行框架,以感受它們。值得一看,以幫助新人決定。他還介紹了那些不準備嘗試容器的窮人的依賴注入,但希望至少以易於轉換爲使用IoC容器的方式編寫應用程序。

他覆蓋容器:

1

Danial Cazzulino在創建Funq DI容器時有bunch (scrunch?) of screencasts。 Funq輕量且快速,但缺乏更大,更成熟的框架的一些花裏胡哨的聲音。

我使用Funq派生的Munq,它也是輕量級和快速的,並且是一種通過Nuget爲MVC3項目添加DI容器的簡單方法。到目前爲止,我還沒有發現任何需要轉移到不同的框架 - Munq已經非常充足。