当前位置: 首页 > news >正文

广东seo推广外包宜昌优化网站建设

广东seo推广外包,宜昌优化网站建设,app制作教程步骤和方法,简单的手机网页制作定义 Chain of Responsibility Pattern#xff1a;使多个对象都有机会处理请求#xff0c;从而避免了请求的发送者和接受者之间的耦合关系。将这些对象连成一条链#xff0c; 并沿着这条链传递该请求#xff0c;直到有对象处理它为止。 优势 解耦请求发送者与接收者#…定义 Chain of Responsibility Pattern使多个对象都有机会处理请求从而避免了请求的发送者和接受者之间的耦合关系。将这些对象连成一条链 并沿着这条链传递该请求直到有对象处理它为止。 优势 解耦请求发送者与接收者发送者无需知道具体由哪个对象处理请求 新增处理者时只需加入链条无需修改原有代码符合 “开闭原则”。 场景 生活场景 最典型的例子是 公司请假审批流程 请假 1 天以内组长直接审批 请假 1-3 天组长无权处理传递给部门经理审批 请假 3 天以上部门经理无权处理传递给总经理审批。 这里组长→部门经理→总经理形成一条 “责任链”请假请求会沿着链条传递直到被对应的负责人处理。 Java 中的责任链场景 Servlet Filter 链 客户端请求经过多个 Filter过滤器处理如编码过滤、权限校验、日志记录等每个 Filter 可选择处理请求后传递给下一个 Filter或直接终止请求。 Spring Interceptor 链 Spring MVC 中的拦截器链对请求进行预处理如登录验证、后处理如数据封装每个 Interceptor 可决定是否继续传递请求。 异常处理机制 Java 的异常捕获try-catch本质上也是责任链异常会从发生处向上传递直到被第一个匹配的 catch 块处理。 代码 // 抽象审批者类定义责任链节点的通用行为 abstract class Approver {protected Approver nextApprover; // 下一个审批者责任链的下一个节点// 设置下一个审批者public void setNextApprover(Approver nextApprover) {this.nextApprover nextApprover;}// 抽象处理方法子类需实现具体审批逻辑public abstract void handleRequest(LeaveRequest request); }// 请假请求类封装请求信息class LeaveRequest {private String name; // 申请人姓名private int days; // 请假天数public LeaveRequest(String name, int days) {this.name name;this.days days;}// getter方法public String getName() {return name;}public int getDays() {return days;} }// 组长处理1天以内的请假class GroupLeader extends Approver {Overridepublic void handleRequest(LeaveRequest request) {if (request.getDays() 1) {System.out.println(组长批准 request.getName() 请假 request.getDays() 天);} else {// 超过权限传递给下一个审批者if (nextApprover ! null) {nextApprover.handleRequest(request);}}} }// 总经理处理3天以上的请假 class GeneralManager extends Approver {Overridepublic void handleRequest(LeaveRequest request) {if (request.getDays() 3) {System.out.println(总经理批准 request.getName() 请假 request.getDays() 天);} else {// 超过权限传递给下一个审批者此处为链的终点可省略if (nextApprover ! null) {nextApprover.handleRequest(request);}}} }// 部门经理处理1-3天的请假class DeptManager extends Approver {Overridepublic void handleRequest(LeaveRequest request) {if (request.getDays() 1 request.getDays() 3) {System.out.println(部门经理批准 request.getName() 请假 request.getDays() 天);} else {// 超过权限传递给下一个审批者if (nextApprover ! null) {nextApprover.handleRequest(request);}}} }// 测试类构建责任链并模拟请假请求 class Client {public static void main(String[] args) {// 创建审批者Approver groupLeader new GroupLeader();Approver deptManager new DeptManager();Approver generalManager new GeneralManager();// 构建责任链组长→部门经理→总经理groupLeader.setNextApprover(deptManager);deptManager.setNextApprover(generalManager);// 模拟请假请求LeaveRequest request1 new LeaveRequest(张三, 1); // 1天组长处理LeaveRequest request2 new LeaveRequest(李四, 2); // 2天部门经理处理LeaveRequest request3 new LeaveRequest(王五, 5); // 5天总经理处理// 发送请求从链的起点开始groupLeader.handleRequest(request1);groupLeader.handleRequest(request2);groupLeader.handleRequest(request3);} } 责任链模式代码
http://www.zqtcl.cn/news/58295/

相关文章:

  • 毕业设计网站wordpress文章后添加除非
  • php网站开发第三章做亚马逊和淘宝网站
  • 广告去哪个网站做赤峰建设银行网站
  • 个人网站设计 优帮云互联网保险发展历程
  • 合肥网站建设技术托管wordpress登录加验证码
  • c 能用来做网站网站建设捌金手指花总十六
  • 怎么用手机网站做软件好网页怎么做链接
  • 广西网站建设渠道做网站项目前怎么收集需求
  • 做个商城网站要多少钱中国建筑界网官网
  • 化工行业网站模板北京百度seo排名点击软件
  • 网站怎么做搜索引擎优化抖音电商官网
  • wordpress存放图片福清seo
  • 网站 验证码错误江阴网站开发
  • 沈阳学校网站建设搜索引擎优化seo应用
  • 国外海报设计网站如何用手机号做WordPress
  • 做化工的网站网站建设项目甘特图
  • 百度站长收录入口邢台信息港欢迎您
  • 网站做支付宝支付接口如何开网店详细步骤视频教程全集
  • 南宁新技术产业建设开发总公司网站网站开发毕业设计答辩
  • 免费建购物网站网站开发公司官网
  • 网站开发的未来发展旅社网站建设
  • 太原网站推广排名织梦做网站首页
  • 游戏直播网站怎么做的系统里看不到wordpress
  • 网站建设的功能都需要有哪些网站建设 宜昌
  • 门户网站还能建设么卖鞋的网站建设思路
  • 外贸网站建站和推广有赞网站开发
  • 电子商务网站功能需求公司网站建设手机端跟PC端
  • 专业网站的公司一线城市做网站工资有多少
  • 如何查询网站建设者专业网站
  • 帝国cms 网站地图 xml优惠活动制作网站