2011-03-19 53 views
0

可能重複:
What should be injected as C'tor paramter under DI principles ?哪些對象應該進入一個依賴容器

我尋找到使用溫莎城堡我的下一個項目,我想了解哪些對象應該進入一個依賴容器。我最初的想法是,如果一個對象訪問外部資源,電子郵件服務器,數據庫,文件系統等,那麼這對於進入容器是一個很好的選擇。但是,我認爲任何使用外部資源的對象也應該進入容器。

這是在使用依賴容器時需要採取的有效方法嗎?

+1

重複:http://stackoverflow.com/questions/3361958/what-should-be-injected-as-ctor-paramter-under-di-principles – 2011-03-19 09:12:34

回答

0

依賴注入容器是一個持有某些類型實現(主要實現某個接口或基類)的對象,用於對象的依賴關係。使用DIC有三個階段:你有一些對象具有一些通過構造函數(例如:在Unity中使用InjectionConstructorAttribute)或屬性(例如:使用DependencyAttribute in Unity);下一步是註冊實現爲那些依賴關係,並且這可以通過代碼或配置文件,EX(統一)來實現:

container.RegisterType<IMyInterface>(MyImplementation); 

第三階段實際上是解決從容器,這樣就解決這是一個特定類型的依賴關係(以及它們的依賴關係,如果有的話)等等。 (團結):

var obj = container.Resolve<IMyInterface>(); 

所以,在回答你的問題,什麼應該進入依賴注入容器是任何類型的必要解決其他類型的,或者說有它自己的依賴關係(有任何類型在某個時候在容器中註冊)。

我希望這有助於:)

0

基本上任何具有依賴性(在構造函數或通過屬性)的對象應該在那裏,也依賴於它自己。您應該考慮爲要放入容器的類創建接口或抽象基類,以便將其嘲笑出來進行測試。