我是否需要一个框架来使用依赖注入?

时间:2016-01-08 08:31:00

标签: c++ dependency-injection

我想开始在C ++中练习依赖注入,以使我的代码更易于测试,但是经过一些谷歌搜索,我发现文章说我必须使用一些框架进行依赖注入。是这样吗?为什么需要这样的框架?为什么我不能通过子类化和通过引用或指针在构造函数中传递依赖项或者通过传递我想用作依赖项作为模板参数的类来注入依赖项?

1 个答案:

答案 0 :(得分:4)

依赖注入是一种软件设计模式,允许您避免对具体类的依赖。 Dependency容器负责创建对象并将依赖项传递/注入依赖对象。如果使用DI容器,则应用程序会将组成对象图的责任委托给单独的服务。它提供了以一致的方式创建应用程序的基础结构,它强制实现约束(当您希望在不同的项目/团队中重用它并强制采用一致的方式构建对象图时,这种约定非常有趣。)

穷人的DI(例如构造函数注入:通过引用传递参数到构造函数)是执行依赖注入的有效方法。

//编辑:DI容器还管理对象/服务的生命周期。