我已经阅读了有关Google Guice的文章,并了解了其他依赖注入方法的一般问题,但是我还没有看到有人在实践中使用Guice的例子,它的价值显而易见。
我想知道是否有人知道这样的例子?
使用Google Guice简化单元测试只是高级优势。有些人甚至可能不在他们的项目中使用单元测试。人们对Spring / Dependency Injection的使用不仅限于单元测试。
使用Google Guice的低级优势是应用程序的内聚性,项目中的类可以彼此松散地耦合。我可以为另一个类提供一个类,而不必彼此依赖。
考虑以下示例:
public class A{
}
public class B{
A a = new A();
}
B类将与A类紧密耦合,换句话说,它取决于A类的存在。
但是,使用Guice,我可以像这样使它松散耦合:
public class B{
private A a;
@Inject
public B(A a){
this.a = a;
}
}
现在,类B松散地耦合到了A,而Guice负责提供A的实例,而不是必须实例化B的实例。有了它,您可以扩展它以提供A到B的接口,并且如果您要对应用程序进行单元测试,则可以将其作为Mock对象。
话虽如此,到目前为止,我们仅讨论依赖注入的好处。除了依赖注入之外,使用Google Guice的好处还包括:
这就是它的概述。但是,随着您对Guice的了解越来越深入,它的好处也越来越多。一个简单的现实示例是,如果您将GWT与MVP实现一起使用,则GWT应用程序中的组件/小部件之间的耦合非常松散,并且彼此之间没有紧密集成。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句