7

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

让我困惑的一件事是:

依赖注入容器不只是工厂模式的美化实现吗?

如果是这样,为什么不这么称呼它,为什么需要一个花哨的术语只是为了混淆事情。

如果不是,有人可以解释我在这里缺少什么吗?

4

1 回答 1

8

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

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

控制反转是指某些东西控制了对象及其生命周期。在这种情况下,由容器决定何时以及如何创建和处置对象。

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

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

我在这里写了一篇关于这个的文章: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

于 2012-08-24T08:00:09.950 回答