欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

法典》称孙兴高明远王政在打黑风暴中的职责

最编程 2024-05-01 14:26:07
...
/** * 抽象处理角色 * * @author MinWeikai * @date 2021/8/26 16:23 */ public abstract class AbstractHandler { /** * 保护伞 */ private AbstractHandler umbrella; /** * 保护伞名字 */ private String name; /** * 处理等级 */ private String handleLevel; /** * 需要处理的请求,该角色的的核心处理逻辑 * * @param request */ public void handleRequest(String request) { System.out.println(this.name.concat("接收:") .concat(request)); // 该问题符合当前角色的处理等级 if (request.contains(this.handleLevel)) { // 自己处理 this.handleBySelf(request); } else { // 自己处理不了,看看有没有保护伞 if (this.getUmbrella() != null) { // 将问题抛给保护伞 this.handleByUmbrella(); // 保护伞去处理 this.getUmbrella().handleRequest(request); } else { // 没有保护伞就只能无助的说遗言了 this.helplessSay(request); } } } /** * 自己处理,不同的职责有不同的实现 * * @param request */ public abstract void handleBySelf(String request); /** * 交给保护伞,各个职责动作一致 */ public void handleByUmbrella() { System.out.println(this.getName() .concat("处理不了这个请求") .concat("交给了保护伞") .concat(this.getUmbrella().getName()) .concat("解决")); } /** * 不同职责,没有保护伞,无助时说的话也不一样 * * @param request */ public abstract void helplessSay(String request); public String getHandleLevel() { return handleLevel; } public void setHandleLevel(String handleLevel) { this.handleLevel = handleLevel; } public String getName() { return name; } public void setName(String name) { this.name = name; } public AbstractHandler getUmbrella() { return umbrella; } public void setUmbrella(AbstractHandler umbrella) { this.umbrella = umbrella; }