c#各類DI容器

IOC控制反轉:說的是創建對象實例的控制權從代碼控制剝離到IOC容器控制,實際就是你在xml文件控制,側重於原理。

DI依賴注入:說的是創建對象實例時,爲這個對象注入屬性值或其它對象實例,側重於實現。

不準確理解:DI就是IOC的一種具體實現

那麼在.net 平臺,或者說c#開發使用的容器有哪些呢?

先看看微軟自己的玩意

1.Unity

    這個是比較官方的,可以說是微軟比較早的,不斷更新也是使用多的。

2.ServiceCollection

   需要引入Microsoft.Extensions.DependencyInjection

其實有這2個玩意的存在,主要是微軟的平臺開發有幾個團隊,現在與我們開發相關的有原來的.net framework,.net core還有微軟的雲服務團隊,另外asp.net core也好像是專門開發的。所以幾個團隊都開發的有自己的東西。

 當前情況下,微軟必定有些相同的東西,用在不同開發平臺(或者是庫)。

再看看其它使用的

3.Autofac 

  根據瞭解的情況,我感覺這款應該是使用最多的,至於使用就不多說了,但是根據資料,並不是最強的,當然我沒有測試過.

方便易用。

4.Ninject

  這也是一款使用較多,比較穩定的容器。

5.Spring.NET

   使用並不多,來自Java的spring的轉換,當然是成熟穩定的

6.TinyIoC 

簡單易用,小項目推薦

7.StructureMap

個人感覺是比較高效的

8.Simple Injector

簡單易用

總體講,沒有特別必要,還是使用大家都在使用的Autofac

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章