【问题标题】:what's the relationship between dependency lookup &Ioc依赖查找和Ioc是什么关系
【发布时间】:2014-10-08 09:56:32
【问题描述】:

伙计们

据我所知,依赖注入是 Ioc 的一种实现

但是我不清楚依赖查找和Ioc的关系

,依赖查找也是Ioc的一种实现吗?

有人可以帮忙吗?谢谢!

【问题讨论】:

  • 不。依赖注入不是 IoC 的实现。控制反转是defining characteristic of a framework,允许框架运行用户代码。然而,DI 可以在有或没有框架的情况下使用。依赖注入也经常被视为依赖倒置原则的一种特定形式,但即使这样也是不正确的,因为在违反依赖倒置原则的同时很容易应用依赖注入。但它们当然都是相关的。
  • 来自matin fowler的文章,依赖注入只是Ioc的别称,他在这篇文章中定义了依赖注入,对吗?Inversion of Control Containers and the Dependency Injection pattern
  • 来自this article from Martin Fowler “控制反转 [...] 被视为框架的定义特征。”

标签: spring dependency-injection


【解决方案1】:

我不是弹簧专家,但我的 0.02 英镑。

依赖注入是提供依赖的外部化。

依赖查找是依赖提供的集中化。

在 DI 中,某些东西所具有的依赖关系是由其他东西提供给对象的,理想情况下是在构造对象时。这可能涉及也可能不涉及框架。

依赖查找是当对象本身尝试使用一些通用服务创建它需要的依赖时。在春天,我相信这实际上是在向 Spring 询问它需要的对象类型,然后容器在那里解析对象类型 (ref)。

这实际上是 ServiceLocator (anti-) 模式 (more details)。尽管not everyone 确信它是一种反模式

恕我直言,您应该努力在所有情况下都使用 DI,并且根本不应该使用依赖查找。

【讨论】:

  • 依赖查找和服务定位器一样吗?
  • @jasonzhong 在春天的情况下,根据我的研究似乎是
猜你喜欢
  • 2020-01-08
  • 1970-01-01
  • 2016-11-13
  • 2014-10-29
  • 2019-09-25
  • 1970-01-01
  • 1970-01-01
  • 2016-03-17
  • 2021-06-05
相关资源
最近更新 更多