【问题标题】:When to use Dependency injection vs service locator何时使用依赖注入与服务定位器
【发布时间】:2012-08-25 17:02:00
【问题描述】:

什么时候使用依赖注入?使用依赖注入有什么压倒性的好处吗?

【问题讨论】:

    标签: jakarta-ee dependencies service-locator


    【解决方案1】:

    福勒在他的Inversion of Control Containers and the Dependency Injection pattern Heading 中很好地比较了两者。在他的总结性想法中,他说

    依赖注入是服务定位器的有用替代方案。什么时候 构建应用程序类两者大致相等,但我 认为服务定位器有一点优势,因为它的更多 直截了当的行为。但是,如果您正在构建课程 在多个应用程序中使用依赖注入更好 选择。

    更多观点和对比可以在here找到

    对于 DI:

    • 更容易确定组件具有哪些依赖项 - 查看 构造函数。
    • 组件不依赖服务定位器,因此 如果该组件与不同的组件一起使用,则没有问题 框架。
    • DI 可能使测试更容易,但它是一个很好的服务定位器 机制将使存根同样可行

    反对 DI:

    • 更难调试和理解。
    • 一旦配置完成,组件就无法向注入器请求额外的服务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-26
      • 2013-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-24
      • 2019-01-13
      • 1970-01-01
      相关资源
      最近更新 更多