Mal*_*lax 8 java dependency-injection guice
我刚刚使用Google Guice for Dependency Injection,并开始将其集成到我现有的应用程序中.到现在为止还挺好.我有许多类,除了它们的依赖项,还需要Strings,DataSources等等.我知道有NamedBindings,但我真的不想为每个简单的字符串创建一个注释,我必须传递给每个类的构造函数.然后,有一个名为AssistedInject的东西,为我创建Factory实现.哇,但我还是要定义工厂的界面.这对于具有依赖关系的类是否可以,但是这个示例类呢:
public class FooBarClass {
public FooBarClass(String name, String anotherOne) {
// Some stuff
}
}
Run Code Online (Sandbox Code Playgroud)
在某些情况下,我怀疑如何使用Guice,或者更一般地说,DI是正确的方式."我经常听到:XYZ框架是新的." 但这暗示我必须使用DI框架创建每个实例.
如果我只需要这个类的一个实例怎么办?除了两个字符串之外,这个类绝对没有依赖性.想想一个Shutdown Hook,它只会被实例化一次并作为我的Shutdown Hook传递给JVM.我应该用Guice创建这个实例吗?这看起来非常愚蠢,因为没有什么可注入,但我必须编写工厂接口来传递Guide两个参数,并且必须为我的FooBarClass创建一个接口来使用DI.
同样的事情适用于我需要这个类的多个实例的情况.没有依赖关系,但我必须创建一堆样板代码才能从中获取任何东西.这对我来说似乎不对.
那么,我应该如何使用DI和/或Guice?
非常感谢!
Jes*_*son 23
从数据中拆分依赖关系可能会有所帮助.
UserAuthenticator,PaymentHandler,和EmailGateway.Date,a Map<String,InetAddress>或甚至a Customer.这些是简单的内存域对象.DI自然最适合事物的依赖性.您应该继续使用new您的数据模型类.
| 归档时间: |
|
| 查看次数: |
2098 次 |
| 最近记录: |