首先,Boost.DI看起來是非常有用的基於C++ 14中的依賴注入創建代碼的工具。這是非常好的記錄,我創建基本的應用程序使用Boost.DI相當快,但我仍然可以弄清楚如何處理與一些注入的依賴關係的對象的動態初始化容器。 Boost.DI會在應用程序啓動時通過注入器對象初始化整個應用程序類樹,但是如果我有一些帶有load方法的類「Foo」,該方法需要xml資源並且想要創建一堆對象「Bar」(帶有一些依賴於已經創建的模塊)。我是否應該將注入器對象傳遞給Foo,或者將某個工廠注入到Foo中並在該工廠中創建Bars?注入注射器看起來很奇怪,並使注射器全局導致任何人都可以創造任何東西的危險情況。注入工廠只會在其他地方發生同樣的問題,工廠如何創建沒有注入器對象的鋼筋?DI Boost C++ 14和動態容器
2
A
回答
0
在您的情況,它聽起來就像你可以從Foo
類都知道如何加載XML的邏輯,並創建一個Bar
,並且有這個邏輯從工廠拉姆達調用時您創建將綁定到Bar
注射器。
如果加載XML並創建Bar
的邏輯取決於需要由注入器創建的其他類,那麼這個注入器將是您的工廠lambda接收的參數。它不一定是全球性的注射器。
相關問題
- 1. PHP DI容器
- 2. 關於DI和IoC容器的問題
- 3. DI容器和遺留系統
- 4. 如何選擇DI容器?
- 5. Docfine 2與Symfony DI容器
- 6. 與symfony的DI容器
- 7. C++容器和openCL
- 8. 動態容器
- 9. 關於SOLID原則,使用容器和Unity的DI:如何管理容器中的DI映射?
- 10. 在PHP中手動創建/使用DI容器?
- 11. c + +的boost ::線程並自動鎖定容器
- 12. 動態創建表單和容器
- 13. 的boost ::變異和多態性C++ 11
- 14. 從靜態工廠類訪問ASP.NET核心DI容器
- 15. Ioc容器和動態語言(需要2)
- 16. jsPlumb和動態添加的容器
- 17. 動態地將容器添加到動態容器中
- 18. 僅在應用程序啓動時使用DI容器?
- 19. Castle Windsor DI容器內存泄漏
- 20. 與DI/IoC容器保持聯繫
- 21. 爲什麼MEF不是DI/IoC容器?
- 22. 在dotnetcore中獲取DI容器
- 23. DI/IoC容器性能基準比較?
- 24. 將MEF插件導入DI/IOC容器
- 25. 支持Compact Framework的IoC/DI容器
- 26. 如何創建Aura DI容器?
- 27. C#XNA 4.0動態內容
- 28. 動態內容ASP.net C#
- 29. C++中的泛型Lambda中的靜態自動變量14
- 30. Windows移動應用程序中的IoC/DI容器