-1
我很困惑DI。我見過很多解釋DI的文章都可以使用構造函數實現,並且一些文章提到了使用ninject的DI。所以我無法理解使用ninject。如果ninject不存在,那麼代碼也會工作。你能解釋一下使用ninject的好處嗎?DI使用Ninject
我很困惑DI。我見過很多解釋DI的文章都可以使用構造函數實現,並且一些文章提到了使用ninject的DI。所以我無法理解使用ninject。如果ninject不存在,那麼代碼也會工作。你能解釋一下使用ninject的好處嗎?DI使用Ninject
報價
Darin Dimitrov
什麼是使用Ninject提供了我,我不能只是 以下鬆耦合的基本原理呢?在Composition Root
你笑萬物否則應手動處理。這就是說,DI框架並不重要。它應該很快,並提供您的應用程序所需的特定功能。但是,DI框架絕對不應以鬆散耦合的方式影響您設計代碼和應用程序中不同層的方式(對接口和抽象類進行編程以削弱應用程序不同層之間的耦合)。
因此,將DI框架視爲僅在您的應用程序的Composition Root中進行干預的框架,並且您可以用一個不同的框架或者手動處理對象生命週期來替代。
例如,您在問題中顯示的代碼非常糟糕,因爲它將圖層與特定的DI框架關聯。這個屬性在那裏就像癌症一樣。這意味着您的應用程序代碼依賴於特定的DI框架。
另外我建議你閱讀這個book。
A [該書的第二版](https://www.manning.com/seemann2/)目前正在製作中,第3章即將發佈。 – Steven