我有一个接口及其实现。公共接口方法使用许多私有方法进行计算:
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() {
...
...
}
...
...
}
这是合法的方式还是不好的做法?