如何避免重复代码

时间:2016-07-08 17:02:26

标签: java guice

我正在创建两个处理不同属性的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();

}

1 个答案:

答案 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 { }