什么时候可以注射注射器

When is it OK to inject the injector?

本文关键字:注射器 什么时候      更新时间:2023-10-16

如果你看看我在C++中为依赖注入而研究的库,我最近添加了一个示例,它模仿了我为真实项目创建的内容:直接注入应用程序配置的能力。

这一切都工作正常,因为构造函数只要求一个 ConfigItem 类型,并且神奇地交付了。

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

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

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

请注意,所有配置项都在单一实例范围内。

希望这个问题有意义:你会怎么做?

听起来您已经重新发明了服务定位器模式