我使用Unity for IoC,我想遵循How not to do dependency injection中規定的原則。所以沒有全局可用的容器,整個代碼都沒有mContainer.Resolve<Type>()
,但是構造器注入。統一選擇適當的容器
我的問題是將這些原理應用於多個容器。我的應用程序比較了許多產品(遵循共享模型的對象),並且每個產品都由它自己的容器進行配置。
我正在尋找一種方法來使每個「產品」(可以看作是一個有很多孩子的對象)使用它自己的容器,而不指定該容器。這些容器可以是子容器或命名容器,我不認爲這有什麼區別?
我已經看過統一擴展名,但還沒有找到答案。
每個物體都有不同的容器?我確定我誤解了一些東西,但是你能澄清一下嗎? – Tipx
我不想爲每個**對象提供一個容器。但是,我有多個「產品」(從相同的類層次派生的對象,但由於其具體的細節而表現不同)。每個產品都應該使用自己的容器來註冊它自己的派生類。 – Moolie
嗯,我可以理解有多個容器出於表演的原因,MAYBE,但只要兩個不同容器中的兩個實體之間有鏈接,就不會有美好的時光。對於同一個基類/抽象類的不同實現,如果只在運行時才知道正確的分辨率,那麼肯定會使用命名註冊,或者在某些情況下使用工廠。 – Tipx