gpt4 book ai didi

java - 依赖于多个条件的执行和操作的解决方案模式

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:07:44 25 4
gpt4 key购买 nike

假设有 3 个操作 ops1()ops2()ops3()。客户端可以请求执行这 3 个的任意组合。例如

  • perform(1):应该执行ops1()
  • perform(2):应该执行ops2()
  • perform(1, 2):应该执行 ops1(),如果 ops1() 成功则执行 ops2()<
  • perform(1, 2, 3):应该执行 ops1(),如果 ops1() 成功则执行 ops2()如果 ops1() 和 ops2() 都成功,则执行ops3()

这可以持续 n ops(),但对我来说它只有 5。

实现它的简单而优雅的方法是什么?有这方面的模式吗?

最佳答案

如何将您的操作放在一个列表中,在该列表中查找要执行的操作,并让操作在失败时抛出异常?然后 perform 方法可以简单地尝试并按所需顺序执行所有方法,直到完成或发生异常。

所以

private List<Callable> ops;

public void perform(int... opNums) {
try {
for (int i : opNums) {
ops.get(i-1).call();
}
}
catch(Exception ex) {
}
}

关于java - 依赖于多个条件的执行和操作的解决方案模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19081151/

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