compositionroot

    2熱度

    1回答

    我正在用Specflow(C#cucumber)開發BDD方法的六角形應用。 我想執行自動化場景系統測試,運行核心並在內部六角形的端口上注入測試雙代替生產適配器。 我也在使用組合根模式,這意味着核心依賴關係在覈心之外解決:已經聞到了我(解決核心對外部六邊形注入適配器的依賴關係是正確的,但核心的內部依賴性呢?)。 通常,測試類以它們的方式解決依賴關係,注入測試double,但現在它們必須能夠組裝核心

    1熱度

    1回答

    在我有Windows服務應用程序的命令行exe應用程序中,有一個main方法,這就是我使用簡單的注入器IoC註冊所有依賴關係的地方。那現在是我的composition root。在相同的windows service application中,有一個OnStart可覆蓋的方法。這就是我在做ETL操作的地方。 我應該在哪裏保留作文根?在main方法或OnStart?

    1熱度

    2回答

    我對在WinForms應用程序中使用依賴注入來管理我的生命週期的正確方法感到困惑。現在,我有一些代碼如下所示 static class Program { // This is the main window's controller, which stores all the // dependencies that are resolved in the composit

    1熱度

    2回答

    使用Ninject,我有以下,並希望利用FluentAssertions測試: [Test] public void InterfacesEndingWithFactoryShouldBeBoundAsFactories() { // Given IKernel kernel = new StandardKernel(); kernel.Bind(services

    2熱度

    1回答

    也許這是一個太寬泛的問題,但我仍然想聽聽什麼是最佳實踐和什麼被認爲是「正確的」。我沒有找到類似的話題,可能是因爲它的通用性,因此很難搜索。 這一切都是在我們開始使用Windows服務項目並向其添加其他服務時開始的。以前,主要方法是我們認爲組合根,我們的Io​​C容器註冊碼,app.config閱讀和類似的主要方法是以這種或那種形式。在組裝所需的依賴關係之後,我們通過調用容器上的Resolve並運行

    0熱度

    1回答

    我一直在閱讀關於解決依賴關係的這兩種方法,並發現了一些針對ninject實現的示例代碼。 對於服務定位其次像 public class NinjectDependencyResolver : NinjectDependencyScope, IDependencyResolver { IKernel kernel; public NinjectDependencyResolv

    1熱度

    1回答

    假設我們有三層;用戶界面,業務,數據。我們正在使用DI。我不想通過UI訪問數據層。 的問題是有關數據層的DI註冊。組合根在UI中,我不想在那裏提及任何數據。我發現這個answer。據我所知,我們應該參考所有圖層,並認爲它們不是圖層庫。這樣我可以指定我的業務層使用數據層或其他任何我想要的。畢竟這是爲什麼DI在附近。 這是正確的,但有一個問題!我們不應該在UI上使用數據層。但是,一旦開發人員意外地從U

    1熱度

    2回答

    在實現DI時,Mark Seemann和Misko Hevery都聲稱構造函數應該很簡單,並且應該只接收依賴關係。他們不應該做任何事情。 (here和here) 不過,我常常想訂閱的依賴關係傳遞事件,但如果我這樣做的構造函數,那麼構造函數超過接收它的依賴,如果我不,那麼對象沒有完全初始化。 那麼實例化那些需要訂閱組合根中的事件的對象,連接它們的事件,然後注入那些實例化的對象是否正確? 例如: //

    1熱度

    1回答

    我正在處理一個WinForms應用程序,該應用程序已配置爲UI,BLL和DAL的典型3層。我創建了一個獨立的項目來充當啓動項目。還創建了另一個項目,作爲一個自制的依賴注入容器,目的是執行所有依賴注入設置。自制的依賴注入容器由啓動項目實例化,然後將實例化的對象傳遞給第一個WinForm。 的自制依賴注入容器實現如下所示: public class AppDependencyInjection {

    7熱度

    1回答

    我試圖找到答案,但似乎沒有直接討論很多。我有我的應用程序的組成根,我創建一個DI容器並在那裏註冊所有內容,然後解析需要的所有依賴關係的頂級類。由於這一切都發生在內部 - 單元測試組合根很難。你可以做虛擬方法,受保護的領域等等,但我並不是很喜歡引入這樣的東西來進行單元測試。其他類沒有大問題,因爲它們都使用構造函數注入。所以問題是 - 測試組合根目錄是否合理?它確實有一些額外的邏輯,但並不多,在大多數