Play Framework 2.4支持Google Guice依赖注入
使用的优点是什么
@Singleton class A
代替
object A
对于单身人士?
解决方法
如果A没有依赖关系,我可以看到在对象上使用@Singleton类的三个优点:
>如果你想测试A,并将其声明为@Singleton类,你可以选择子类化它来模拟测试中的一些函数,而对象则不可能.
>如果使用对象,A的客户端直接引用它是非常诱人的,导致强耦合系统,但使用@Singleton类强制他们考虑实例化A的位置,可能导致更加分离的设计.
>如果您以后改变主意,并允许多个A实例,那么如果您选择使用@Singleton类,重构将更容易.
但是,如果A具有依赖关系,则使用@Singleton类允许它们在构造上依赖注入,而使用对象时,只有将依赖关系声明为可变(例如:使用getter / setter方法的var)时才可以使用它.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。