我正在创建两个处理不同属性的Guice模块。这种方法的问题是我必须在实现中两次复制代码。如何避免重复并仍能自定义绑定?
我在考虑使用提供商但却无法找到更清晰的方法。任何方向都将不胜感激
public abstract class AConfModule extends AbstractModule {
/**
* {@inheritDoc}
*/
protected void configure() {
// Do some Confugurations
iConfigure();
}
protected abstract void iConfigure();
}
public abstract class BConfModule extends AbstractModule {
/**
* {@inheritDoc}
*/
protected void configure() {
// Do some Confugurations
iConfigure();
}
protected abstract void iConfigure();
}
答案 0 :(得分:4)
为什么不:
public abstract class AbstractConfModule extends AbstractModule {
/**
* {@inheritDoc}
*/
protected void configure() {
// Do some Configurations
iConfigure();
}
protected abstract void iConfigure();
}
public abstract class AConfModule extends AbstractConfModule { }
public abstract class BConfModule extends AbstractConfModule { }