gpt4 book ai didi

java - 在 Java 中的界面中表示工作流程

转载 作者:行者123 更新时间:2023-11-30 05:56:34 25 4
gpt4 key购买 nike

我有类似的方法,需要针对不同的概念实现。但方法的调用应该按顺序进行。例如,假设我的方法是:

m1、m2、m3、m4。它们的实现将不止一种。所以,我想将它们收集到一个 Java 接口(interface)中。但由于他们彼此依赖,这样做似乎有点奇怪。然后我决定在接口(interface)中定义一个方法来按顺序执行其他方法,但这次接口(interface)没有反射(reflect)其目的。

那么,用 Java 接口(interface)及其实现来表示这种有序方法调用的最佳实践是什么?

提前致谢

最佳答案

如果流程定义明确,您可以使用一种strategy pattern通过定义实现流程的抽象类,允许子类仅定义流程方法。例如:

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 的实现。

关于java - 在 Java 中的界面中表示工作流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6952647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com