我在我的解決方案中有三個層,Presentation(winforms項目),Domain(類lib)和Persistence(class lib)。 我想實現依賴注入來解耦它們。 我的應用程序根目錄位於我的表示層。 我明白在我的應用程序根目錄中應該引用DI容器(這種情況下的統一性)的唯一時間,否則我會簡單地將依賴關係替換爲我的DI容器上的類依賴關係(我認爲它仍然是輕微的更好)。依賴注入實現
因此,在考慮到這些基礎概念的情況下,我真的在爲特定實現而努力。也許我的應用程序根目錄應該在它自己的獨立項目中 - 可能是一個控制檯應用程序。然後,我可以解析第一個'overallApplication'類,在其構造函數中列出IPresentation,IDomain和IPersistence。我明白(假設實際的實現已被註冊),統一框架然後遞歸地解決所有各自的子依賴關係。
根據您的經驗 - 您是否能夠建議這是否是一種合理的方法。我真的理解解耦的概念和重要性,以及如何在高層概念上解決這個問題,但我正在努力將它們全部結合在一個具有多層的實際應用解決方案中(在VS中作爲單獨項目組織)。
任何幫助或指向正確實施的例子將不勝感激。
相關:https://stackoverflow.com/questions/9501604/ioc-di-why-do-i-have-to-reference-all-layers-assemblies-in-entry-application – Steven