工厂+策略模式解决诸多if else

一、下面是一个通过角色roleId获取项目状态的例子(请参考)

package org.jeecg.modules.demo.test.enums;

public enum RoleProjectStatus {


    ADMIN("1001","10"),

    ADMIN_ONE("1002","20");


    private final String roleId;

    private final String projectStatus;

    RoleProjectStatus(String roleId, String projectStatus) {
        this.roleId = roleId;
        this.projectStatus = projectStatus;
    }

    public static String getProjectStatus(String roleId) {
        for (RoleProjectStatus value : RoleProjectStatus.values()) {
            if(value.equals(roleId)){
                return value.projectStatus;
            }
        }
        return null;
    }
}

posted @ 2024-05-06 09:15  牛奶配苦瓜  阅读(11)  评论(0)    收藏  举报