cost 245 ms
Composition Root 與 Composer 的關系

[英]Relation between Composition Root and Composer

我閱讀了依賴注入原則、實踐和模式,並試圖找出Composition Root和Composer之間的實際區別。 在書中他們的定義是: 組合根是應用程序中的單個邏輯位置,模塊組合在一起。 Composer是一個統一術語,指的是任何組成依賴項的對象或方法。 它是組成根的重要組成部分。 C ...

每個模塊都有一個用於 DI 的 XML 配置文件有意義嗎?

[英]Would it make sense to have an XML configuration file per module for DI?

我一直在閱讀有關 DI 和組合根的信息。 我在文章中讀到只有應用程序應該有一個組合根,而不是庫。 但是讓我們假設我有一個可重用的包,其中包含一些接口及其實現。 我想將該接口綁定到實現。 我認為如果用戶必須自己做這一切會很麻煩。 在可重用模塊中包含一個 XML DI 配置文件是否有意義,該文件將在 ...

打字稿express中Composition Root的實現

[英]Implementation of Composition Root in typescript express

我試圖了解我應該如何在項目中實現組合根。 根據我的紅色,如果以錯誤的方式使用組合根(例如,通過在應用程序代碼中的很多地方引用它),您將最終得到服務定位器。 讓我向您展示一個沒有復合根的項目示例。 我有以下項目結構: 服務器.ts 域名.ts 應用程序.ts api.ts ...

使用 DI 時如何新建對象

[英]How to new up objects when using DI

我只是在觀看 PluralSight 上的依賴注入課程,它為我解決了一些問題。 但是,盡管它跨越了幾層,但也沒有關於當您只需要在 codde 中新建對象時到底要走什么路的信息。 這是我正在努力理解的最后一塊拼圖。 我知道 Compisition Root 以及如何使用它。 我知道要避免 Servi ...

六角形應用自動化測試中的組成根

[英]Composition root in automated test of hexagonal application

我正在使用Specflow(C#cucumber)開發一種帶有BDD方法的六邊形應用程序。 我想實現運行核心的自動化場景系統測試,並在內六角形的端口而不是生產適配器上注入測試雙。 我也在使用組合根模式,這意味着核心依賴關系在核心之外被解析:這已經聞到了我的意思(解決核心對注入適配器的 ...

我應該在Windows服務的哪里創建合成根目錄?

[英]Where should I create the composition root in a windows service?

在我擁有的Windows Service應用程序中的命令行exe應用程序中,有一個main方法,那就是使用簡單的注入器IoC注冊所有依賴項的地方。 這就是我的創作根源 。 在同一Windows服務應用程序中 ,有一個OnStart可重寫方法。 那就是我進行ETL操作的地方。 我應該在 ...

具有依賴注入的DbContext生命周期

[英]DbContext Lifetime with Depedency Injection

我對在WinForms應用程序中使用依賴注入來管理我的DbContext生命周期的正確方法感到困惑。 現在,我的代碼如下所示 我遇到的問題是,這個模式會導致我的程序啟動時創建所有存儲庫,因此MyContext實例會在整個程序中保持MyContext 。 因此,當數據庫在我的程序之外更 ...

何時在Windows服務中編寫應用程序根目錄

[英]When to compose application root in a windows service

給定一個將作為Windows服務運行的C#控制台應用程序,大約有2個應用程序入口點。 第一個顯而易見的方法是static void Main方法。 此方法的一部分工作是安裝擴展ServiceBase ,然后運行它以使其OnStart方法被調用。 還有諸如Topshelf之類的較高級別的工具 ...

將依賴項注入的類與容器傳遞給應用程序啟動WinForm

[英]Passing dependency injected classes vs a container into an application startup WinForm

我正在處理一個WinForms應用程序,該應用程序已配置為UI,BLL和DAL的典型3層。 我創建了一個單獨的項目作為啟動項目。 還創建了另一個項目以充當自制的依賴項注入容器,以執行所有依賴項注入設置。 自制的依賴項注入容器由啟動項目實例化,然后將實例化的對象傳遞給第一個WinForm。 ...

是否存在一個Windsor擴展點或通用IoC技術來處理一個根下許多場景中所需的原始依賴項?

[英]Is there a Windsor extension point or general IoC technique for dealing with a primitive dependency needed in many scenarios under one root?

背景 我有一些由要依賴於要創建的連接字符串的組件實現的服務,例如: 我通常更喜歡第一個構造函數,而不是第二個構造函數,因為為了使用連接字符串,我必須使用它創建一個連接,這反過來又需要解析IOracleConnection並具有string依賴性。 我的IImportantCo ...

我應該在“ main”方法中編寫什么代碼?

[英]What should I code in the 'main' method?

也許這是一個太寬泛的問題,但是我仍然想聽聽什么是最佳實踐,什么是“正確”的。 我找不到類似的主題,可能是由於它的通用性,因此很難搜索。 當我們接受一個Windows服務項目並向其中添加另一個服務時,一切就開始了。 以前,主要方法是我們認為的Composition Root ,而我們的I ...

組合根是否需要單元測試?

[英]Does composition root needs unit testing?

我試圖找到答案,但似乎沒有直接討論過很多。 我有一個我的應用程序的組合根,我創建一個DI容器並在那里注冊所有內容,然后解決所有依賴項所需的頂級類。 由於這一切都在內部發生 - 因此很難對組合根進行單元測試。 你可以做虛擬方法,受保護的字段等等,但我不是為了能夠進行單元測試而引入這些東西的忠 ...

依賴注入-訂閱組合根目錄中的事件,而不是構造函數

[英]Dependency Injection - Subscribing to events in the composition root instead of the constructor

在實現DI時,Mark Seemann和Misko Hevery都說構造函數應該很簡單,並且應該只接收依賴項。 他們不應做任何其他事情。 ( 在這里和這里 ) 但是,通常我希望訂閱傳入的依賴項的事件,但是如果我在構造函數中執行此操作,則構造函數將比接收其依賴項做更多的工作,如果不這樣做 ...

帶隔離的分層應用中的DI

[英]DI in layered application with isolation

假設我們有三層; UI,業務,數據。 我們正在使用DI。 我不希望從UI可以訪問數據層。 問題是關於數據層的DI注冊。 合成根位於用戶界面中,我不想在那里引用任何數據。 我找到了這個答案 。 據我了解,我們應該引用所有層,並認為它們是庫而不是層。 這樣,我可以指定我的業務層 ...

caliburn.micro,Bootstrapper和CompositionRoot

[英]caliburn.micro, Bootstrapper and CompositionRoot

我試圖了解什么是CompositionRoot。 到現在為止,我還沒有找到關於它的深刻描述,只是簡短地陳述了不應該做的事情。 利用caliburn.micro時出現的Bootstrapper已經是“ CompositionRoot”的意思了嗎? 還是更接近serviceloca ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM