【问题标题】:Dependency Injection Container - Factory Pattern依赖注入容器 - 工厂模式
【发布时间】:2012-08-24 07:44:19
【问题描述】:

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

让我困惑的一件事是:

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

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

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

【问题讨论】:

  • “依赖注入”是一个比“依赖注入容器”更广泛的术语。 DI 和 Factory 之间的区别很容易看出,而 DI Container 和 Factory 之间的区别则不那么容易。所以我认为这根本不是一个重复的问题。

标签: oop design-patterns dependency-injection factory-pattern


【解决方案1】:

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

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

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

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

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

我在这里写过一篇文章: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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多