关于oop:依赖注入容器 – 工厂模式

Dependency Injection Container - Factory Pattern

我一直在尝试了解依赖注入,并且一直在阅读和尝试编写类似于以下内容的小型依赖注入容器:http://fabien.potencier.org/article/12/do-you-need-a-dependency-injection-container

唯一让我困惑的是:

依赖注入容器不是工厂模式的光荣实现吗?

如果是这样,为什么不直接称之为,为什么需要一个花哨的术语只会混淆事情。

如果不是的话,有人能解释一下我在这里遗漏了什么吗?


您必须分离依赖注入和控制反转。

依赖项注入是将依赖项注入到类中,而不是让类本身负责其依赖项。

相反,控制反转是指某个东西控制着这个物体,它的生命周期。在这种情况下,由容器决定创建和处置对象的时间和方式。

工厂模式就是在每次调用时创建一个新对象。模式本身没有说明应该如何创建依赖项。

这就是为什么您可以配置不同的生命周期,并使用子容器来控制生命周期有限的对象。

我在这里写了一篇关于这个的文章:http://www.codeproject.com/articles/386164/get-injected-into-the-world-of-inverted-dependenci

或者,如果您想查看更多示例:http://www.codeproject.com/articles/440665/having-fun-with-griffin-container