在Java界面中表示工作流
我有类似的方法,需要为不同的概念实现。但方法的调用应该是有序的。例如,假设我的方法是: m1,m2,m3,m4。它们将有多个实现。所以,我想在Java接口中收集它们。但由于他们相互依赖,这样做似乎有点奇怪。然后我决定在接口中定义一个方法,该方法按顺序执行其他方法,但这次接口没有反映出它的用途 那么,用Java接口及其实现来表示这种有序方法调用的最佳实践是什么在Java界面中表示工作流,java,function,interface,call,Java,Function,Interface,Call,我有类似的方法,需要为不同的概念实现。但方法的调用应该是有序的。例如,假设我的方法是: m1,m2,m3,m4。它们将有多个实现。所以,我想在Java接口中收集它们。但由于他们相互依赖,这样做似乎有点奇怪。然后我决定在接口中定义一个方法,该方法按顺序执行其他方法,但这次接口没有反映出它的用途 那么,用Java接口及其实现来表示这种有序方法调用的最佳实践是什么 提前感谢如果流定义得很好,您可以通过定义实现流的抽象类来使用一种方法,只允许子类定义流方法。例: public interface MyI
提前感谢如果流定义得很好,您可以通过定义实现流的抽象类来使用一种方法,只允许子类定义流方法。例:
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();
}
}
通常,策略模式允许子类重写flow()方法,但由于您不想这样做,所以将flow方法标记为final。这样,客户机将只关心m1、…、m4实现。+1另请参阅。