【问题标题】:Play Framework dependency injection Object vs @Singleton ClassPlay Framework 依赖注入 Object vs @Singleton Class
【发布时间】:2016-02-23 22:41:48
【问题描述】:

Play Framework 2.4 支持 Google Guice 依赖注入

使用有什么好处

@Singleton class A

而不是

object A

单身人士?

【问题讨论】:

    标签: scala playframework guice


    【解决方案1】:

    如果 A 没有依赖项,我可以看到使用 @Singleton class 优于 object 的三个优势:

      1234563 .
    1. 如果使用objectA 的客户很容易直接引用它,导致系统强耦合,但使用@Singleton class 迫使他们思考A 在哪里实例化,可能会导致更加解耦的设计。

    2. 如果您稍后改变主意,并允许A 的多个实例,如果您选择使用@Singleton class,重构将更容易进行。

    如果A 有依赖关系,但是,使用@Singleton class 允许它们在构造时注入依赖关系,而对于对象,只有将依赖关系声明为可变时才有可能(例如:var 与 getter/设置方法)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-09
      • 2015-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多