注射注射器什么时候可以?

时间:2011-05-16 14:53:00

标签: c++ dependency-injection

如果你看看我一直在为dependency injection in C++工作的库,我最近添加了an example,它模仿了我为一个真实项目创建的东西:直接注入应用程序配置的能力。

这一切都很好,因为构造函数只是要求一个ConfigItem< ConfigTag>类型,这是神奇地传递。

当我需要同时访问所有这些(例如配置对话框)时会出现问题。

我提出的愚蠢的解决方案是使用预处理器生成一个类,该类获取构造函数中的所有配置项,如here所示。

如果我可以注入注入器,那么这个问题将“很好地”解决,因为我只需要生成代码来收集所有ConfigItem实例,如图所示here

请注意,所有ConfigItem都在单一范围内。

希望这个问题有道理:你会怎么做?

1 个答案:

答案 0 :(得分:0)

听起来你重新发明了Service Locator Pattern