java - 使用许多验证方法构建的最佳方式

标签 java design-patterns

这是我的代码

public class Validator {
private String message = "ok";

public String mainValidate(String value) {
    if(!isAccept1()) {
        message = "fail1";
        return message;
    }

    if(!isAccept2()) {
        message = "fail2";
        return message;
    }

    if(!isAccept3()) {
        message = "fail3";
        return message;
    }
    return message;
}

public boolean isAccept1() {}

public boolean isAccept2() {}

public boolean isAccept3() {}

需求是:如果代码遇到任何错误,立即返回消息。 如您所见,使用当前代码,我重复了很多次。 我怎样才能构建代码并仍然保持需求。如果发生任何错误,代码将跳过其他验证并返回错误消息

非常感谢!

最佳答案

您可以将所有检查放在一个方法中:

public String mainValidate(String value) {
    String message = isAccept();
    if(!message.equalsIgnoreCase("ok")) {
        return message;
    }
}

private String isAccept() {
    String returnString = "ok";
    //check1 - change returnString to whatever message if check fails
    //check2 - change returnString to whatever message if check fails
    //check3 - change returnString to whatever message if check fails
    //etc...
    return returnString;
}

关于java - 使用许多验证方法构建的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33302559/

相关文章:

Java - 我的声音剪辑无法工作/无法播放

javascript - CommonJS 在 Titanium 应用程序中比命名空间更好?

c# - 如何从数据库中填充组合框项而不是在各处复制相同的代码(如何更改我的代码以使用 OOP)?

design-patterns - 事件驱动的Kubernetes服务

java - 取消除家庭以外的所有 Activity

java - Android:Java 中的 Hashmap 或 Sequence

java - 带有 Java 的 Apache Spark : Launching multiple app requests simultaneously

Java - Base64.decodeBase64(text) 在 Windows 和 Linux 上的不同结果

c# - 管理表单状态的最佳方法是什么?

Java - 消息处理器设计模式