如果流程定义良好,您可以通过定义实现流的抽象类来使用一种策略模式,从而允许子类仅定义流方法.例如:
public interface MyInterface {
m1();
m2();
m3();
m4();
flow();
}
public abstract class Strategy implements MyInterface {
public final void flow() {
//implement the flow only
m1();
m2();
m3();
m4();
}
}
Run Code Online (Sandbox Code Playgroud)
通常,策略模式允许子类覆盖flow()方法,但由于您不想这样做,因此将flow方法标记为final.这样,客户端将只担心m1,...,m4实现.