【发布时间】:2016-02-23 22:41:48
【问题描述】:
Play Framework 2.4 支持 Google Guice 依赖注入
使用有什么好处
@Singleton class A
而不是
object A
单身人士?
【问题讨论】:
标签: scala playframework guice
Play Framework 2.4 支持 Google Guice 依赖注入
使用有什么好处
@Singleton class A
而不是
object A
单身人士?
【问题讨论】:
标签: scala playframework guice
如果 A 没有依赖项,我可以看到使用 @Singleton class 优于 object 的三个优势:
如果使用object,A 的客户很容易直接引用它,导致系统强耦合,但使用@Singleton class 迫使他们思考A 在哪里实例化,可能会导致更加解耦的设计。
如果您稍后改变主意,并允许A 的多个实例,如果您选择使用@Singleton class,重构将更容易进行。
如果A 有依赖关系,但是,使用@Singleton class 允许它们在构造时注入依赖关系,而对于对象,只有将依赖关系声明为可变时才有可能(例如:var 与 getter/设置方法)。
【讨论】: