【问题标题】:IS there any difference between Service Locator Pattern and Dependency Injection Pattern? [duplicate]服务定位器模式和依赖注入模式之间有什么区别吗? [复制]
【发布时间】:2013-05-11 09:36:02
【问题描述】:

Service Locator 和 Service Locator 有什么区别吗 模式和依赖注入模式?

【问题讨论】:

标签: design-patterns dependency-injection service-locator


【解决方案1】:

好吧,如果它们相同,它们不会有不同的名字,不是吗?

依赖注入模式是将依赖注入到使用它们的对象中——类本身不会实例化它们,但它们会被传递给它(通过构造函数注入、属性注入或作为使用它们的方法的参数)一般)。类的 caller / creator 必须管理它。

这就是 IoC 容器管理的东西 - 这样的依赖链。他们知道每个类有什么依赖以及如何用这些依赖实例化它。

服务定位器模式的不同之处在于服务定位器实例化了依赖项 - 但是,这通常是在依赖类中作为对服务定位器的调用来完成的。

【讨论】:

  • 谢谢,请问我还有一个问题可以在同一个项目中使用这两种模式吗?
  • @Angelika - 是的,它是可能的,但会让事情变得不一致。为项目选择一个或另一个,但不能同时选择两者。
猜你喜欢
  • 1970-01-01
  • 2012-08-22
  • 1970-01-01
  • 1970-01-01
  • 2015-03-07
  • 1970-01-01
  • 2013-12-22
  • 2016-08-06
相关资源
最近更新 更多