如果你看看我一直在爲dependency injection in C++工作的庫,我最近添加了an example,它模仿我爲一個真實項目創建的東西:能夠直接注入應用程序配置。什麼時候可以注射進樣器?
這一切都工作正常,因爲構造函數只是要求一個ConfigItem <ConfigTag>類型,這是奇蹟般地交付。
當我需要同時訪問它們中的所有內容(比如配置對話框)時會出現問題。
我想出的愚蠢解決方案是使用預處理器生成一個類,該類獲取構造函數中的所有配置項,如here所示。
如果我可以注入注入器,那麼這個問題將會「很好地」解決,因爲我只需要生成代碼來收集所有的ConfigItem實例,如here所示。
請注意,所有ConfigItems都在單例範圍內。
希望這個問題有道理:你會如何做到這一點?
從描述這聽起來像概念這個問題:http://stackoverflow.com/questions/1891778/injecting-the-dependency-injector-using-dependency-注入我不是C++程序員,所以我可能會誤解。 – 2011-05-16 15:44:37
我認爲它是相似的,但我必須想象有更好的答案! – cheez 2011-05-16 17:01:40