将实用程序方法移到抽象超类中是合法的还是不良的做法?

时间:2019-02-07 23:02:39

标签: java styles code-cleanup

我有一个接口及其实现。公共接口方法使用许多私有方法进行计算:

public class FooServiceImpl implements FooService {

    @Override
    public void method1() {
        calc1();
        calc2();
        ...
        ...
    }

    @Override
    public void method2() {
        calc1();
        calc2();
        ...
        ...
    }

    private Double calc1() {
        ...
        ...
    }

    private Double calc2() {
        ...
        ...
    }

    ...
    ...
}

为了更好的概述,我将公共接口方法和实用程序方法移到了一个抽象类中,将它们分开:

public class FooServiceImpl extends AbstractFooService implements FooService {

    @Override
    public void method1() {
        calc1();
        calc2();
        ...
        ...
    }

    @Override
    public void method2() {
        calc1();
        calc2();
        ...
        ...
    }
}

public abstract class AbstractFooService {

    Double calc1() {
        ...
        ...
    }

    Double calc2() {
        ...
        ...
    }

    ...
    ...
}

这是合法的方式还是不好的做法?

0 个答案:

没有答案