C++的依赖注入框架

hel*_*hod 66 c++ dependency-injection

是否有与Google Guice相媲美的DI框架?谷歌使用什么?

Adr*_*scu 29

在C++世界中没有像Guice那样成熟或标准的东西.然而,有些人已经将自己的简单实现放在一起.这是一对夫妇.

你不可能满足于这些.

如果你真的想要围绕一个用于C++的DI框架集中力量,那么可能的方法就是向Boost人提出建议.

  • 我担心模板元编程与一小撮宏相结合,这将涉及Boost版本的GUICE ... ;-) (15认同)

Dan*_*lli 28

我是wallaroo的作者.它是积极开发的,具有以下特点:

  • 它重量轻但功能强大
  • 它的接口支持C++ 11和C++ 98 with boost
  • 它的类型安全
  • 它不需要自定义预处理器/代码生成器
  • 您可以加载共享库中定义的类
  • 您可以使用DSL语法进行对象创建和布线
  • 您可以通过解析一个或多个xml/json文件来获取对象.

欢迎任何评论,建议或要求.

  • ......遗憾的是它是一个侵入性的容器.你必须从wallaroo :: Device派生你的类.从我的角度来看,这是一个KO标准,应该是非侵入性的. (2认同)
  • @Daniele添加一个使用非侵入式机制的选项会很酷.期待看到这一点. (2认同)

lur*_*her 24

最近有一个看起来非常有趣的称为皮下注射,我没有测试它,但它看起来非常活跃

  • 很酷的东西,但没有能力从文件加载配置(像Spring一样).因此,您需要在要重新配置的应用旁边放置一些源和编译器.那是"流畅的"IoC的问题.更喜欢可以将"硬编码"配置与"灵活文件"配置混合的东西,例如XML. (2认同)

phs*_*phs 11

我目前正在创作一种名为,其设计(和名称)直接受到guice的启发.我仍然认为它是alpha,但你可能会发现它很有用.