gpt4 book ai didi

java - 有没有办法消除 Java 中早期方法返回的冗余检查?

转载 作者:行者123 更新时间:2023-12-02 06:13:58 25 4
gpt4 key购买 nike

这些年来我已经多次看到过这种代码模式。它是不断检查特定标准的过程,如果满足,该方法会提前退出。有没有办法重构此代码以删除一些冗余检查,以便您不必不断检查每个支持方法的响应?

例如:

public String process(String s) {
String revised = doActionA(s);
if (checkCriteria(revised)) return revised;

revised = doActionB(revised);
if (checkCriteria(revised)) return revised;

return doActionC(revised);
}

最佳答案

我想你想要的是Chain of responsibility - Pattern 。您需要一个“函数”:String -> String 和一个包含这些函数的列表。评估器将调用其中的每一个,如果成功,它不会调用其余的 - 这也是您的示例中的内容。

术语“函数”可以是 Java 8 函数接口(interface)、Google Guava 函数接口(interface)中的任何内容,或者只是一个专门的 functional interface喜欢

public interface {
String doAction(String parameterS);
}

在将评估器与它应该尝试的“函数”/“操作”一起使用之前,您需要对其进行配置。这可能就像将它们添加到列表中一样简单,但您可能也想将其提取到一个单独的类中。

如果您想要一些示例,我认为 Google 会为您提供大量示例。

关于java - 有没有办法消除 Java 中早期方法返回的冗余检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21649751/

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