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

做个模板网站多少钱河北邯郸做网站的公司哪家好

做个模板网站多少钱,河北邯郸做网站的公司哪家好,个体营业执照怎么年审,织梦网站图标前言 责任链#xff0c;即将能够处理同一类请求的对象连成一条链#xff0c;所提交的请求沿着链传递#xff0c; 链上的对象逐个判断是否有能力处理该请求#xff0c;如果能则处理#xff0c;如果不能则传递给链上的下一个对象。为了避免请求发送者与多个请求处理者耦合在…前言 责任链即将能够处理同一类请求的对象连成一条链所提交的请求沿着链传递 链上的对象逐个判断是否有能力处理该请求如果能则处理如果不能则传递给链上的下一个对象。为了避免请求发送者与多个请求处理者耦合在一起 将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链 当有请求发生时可将请求沿着这条链传递直到有对象处理它为止。 客户只需要将请求发送到责任链上即可无须关心请求的处理细节和请求的传递过程 所以责任链将请求的发送者和请求的处理者解耦了。责任链是一种对象行为型模式。 1. 责任链中的角色 1.1 抽象处理者 定义一个处理请求的接口包含抽象处理方法和一个后继连接。 1.2 具体处理者 实现抽象处理者的处理方法判断能否处理本次请求如果可以处理请求则处理否则将该请求转给它的后继者。 1.3 客户类 创建处理链并向链头的具体处理者对象提交请求它不关心处理细节和请求的传递过程。 1.4 图示 2. 代码示例 2.1 定义抽象处理者 package com.wanlong.design_pattern.action.chainOfResponsibility;/*** author wanlong* version 1.0* description:* date 2022/9/19 17:39*/ public abstract class Leader {private Leader next;public Leader getNext() {return next;}public void setNext(Leader next) {this.next next;}//处理请求的方法public abstract void handleRequest(int LeaveDays); } 2.2 定义具体处理者 2.2.1 定义具体处理者1 package com.wanlong.design_pattern.action.chainOfResponsibility;/*** author wanlong* version 1.0* description: 班主任责任链节点* date 2022/9/19 17:40*/public class ClassAdviser extends Leader {Overridepublic void handleRequest(int LeaveDays) {if (LeaveDays 2) {System.out.println(班主任批准您请假 LeaveDays 天。);} else {if (getNext() ! null) {getNext().handleRequest(LeaveDays);} else {System.out.println(请假天数太多没有人批准该假条);}}} } 2.2.2 定义具体处理者2 package com.wanlong.design_pattern.action.chainOfResponsibility;/*** author wanlong* version 1.0* description: 系主任责任链节点* date 2022/9/19 17:41*/public class DepartmentHead extends Leader {Overridepublic void handleRequest(int LeaveDays) {if (LeaveDays 7) {System.out.println(系主任批准您请假 LeaveDays 天。);} else {if (getNext() ! null) {getNext().handleRequest(LeaveDays);} else {System.out.println(请假天数太多没有人批准该假条);}}} }2.2.3 定义具体处理者3 package com.wanlong.design_pattern.action.chainOfResponsibility;/*** author wanlong* version 1.0* description: 院长责任链节点* date 2022/9/19 17:41*/ public class Dean extends Leader {Overridepublic void handleRequest(int LeaveDays) {if (LeaveDays 10) {System.out.println(院长批准您请假 LeaveDays 天。);} else {if (getNext() ! null) {getNext().handleRequest(LeaveDays);} else {System.out.println(请假天数太多没有人批准该假条);}}} } 2.3 定义客户类 package com.wanlong.design_pattern.action.chainOfResponsibility;import org.junit.Test;/*** author wanlong* version 1.0* description: 责任链模式调用* date 2022/9/19 17:39*/ public class Client {Testpublic void test() {//组装责任链Leader leader1 new ClassAdviser();Leader leader2 new DepartmentHead();Leader leader3 new Dean();leader1.setNext(leader2);leader2.setNext(leader3);//提交请求leader1.handleRequest(8);}}运行结果 院长批准您请假8天。 3. 总结 3.1 优缺点 3.1.1 优点 由于责任链的创建完全在客户端使得一个对象无须知道到底是哪一个对象处理其请求以及链的结构发送者和接收者也无须拥有对方的明确信息。 增强了系统的可扩展性。可以根据需要增加新的请求处理类满足开闭原则。增强了给对象指派职责的灵活性。当工作流程发生变化可以动态地改变链内的成员或者调动它们的次序也可动态地新增或者删除责任。责任链简化了对象之间的连接。每个对象只需保持一个指向其后继者的引用不需保持其他所有处理者的引用这避免了使用众多的 if 或者 if···else 语句。责任分担。 每个类只需要处理自己该处理的工作不该处理的传递给下一个对象完成明确各类的责任范围符合类的单一职责原则 3.1.2 缺点 不能保证每个请求一定被处理。由于一个请求没有明确的接收者所以不能保证它一定会被处理该请求可能一直传到链的末端都得不到处理。对比较长的职责链请求的处理可能涉及多个处理对象系统性能将受到一定影响。职责链建立的合理性要靠客户端来保证增加了客户端的复杂性可能会由于职责链的错误设置而导致系统出错 如可能会造成循环调用。 3.2 使用场景 有多个对象可以处理一个请求哪个对象处理该请求由运行时刻自动确定。动态指定一组对象处理请求或添加新的处理者。在不明确指定请求处理者的情况下向多个处理者中的一个提交请求。 3.3 常见框架使用 Java中异常机制就是一种责任链模式。 一个try可以对应多个catch当第一个catch不匹配类型则自动跳到第二个catch。Javascript语言中事件的冒泡和捕获机制。Servlet开发中过滤器的链式处理Struts2中拦截器的调用也是典型的责任链模式流程引擎activiti ,camunda通过流程控制业务流转shiro 过滤器链 3.4 注意事项 3.4.1 模式的扩展 职责链模式存在以下两种情况 纯的职责链模式 一个请求必须被某一个处理者对象所接收且一个具体处理者对某个请求的处理只能采用以下两种行为之一自己处理承担责任把责任推给下家处理。不纯的职责链模式 允许出现某一个具体处理者对象在承担了请求的一部分责任后又将剩余的责任传给下家的情况且一个请求可以最终不被任何接收端对象所接收。 以上本人菜鸟一枚如有问题请不吝指正。
http://www.w-s-a.com/news/853470/

相关文章:

  • 湖滨区建设局网站北京国际建设集团网站
  • 做服装团购有哪些网站wordpress 端口修改
  • 上海礼品定制网站响应式网站模版建站
  • 那种自行提取卡密的网站怎么做网站攻击
  • 洛阳免费网站建设qq是哪家公司开发的软件
  • 怎么做网站网页wordpress网址导航
  • 专业微信网站建设公司首选公司wordpress自动分类插件
  • 网站设计登录界面怎么做网站突然排名没了
  • wordpress 人物页面seo优化公司信
  • 高端网站建设报价网站建设需要硬件设备
  • 做国际物流在哪些网站找客户营销qq怎么申请
  • 网站做推广百度好还是360好科技厅
  • 网站开发工具排名万户网络建一个网站虽要多少钱
  • 用凡科做的网站要钱吗WordPress城市切换
  • 制作一个门户网站需要多少钱营销型网站特征
  • 手机网站 多html中国建设银行网站包头分行
  • 哪个网站做免费广告好招牌图片效果图设计制作
  • 网站建设优化服务机构苏州市做网站
  • 网站如何优化流程企业网站管理系统视频教程
  • 我想克隆个网站 怎么做贵州住房和城乡建设厅官网
  • 网站建设项目前景上海今天新闻综合频道
  • 做网站推销的如何谈客户wordpress怎么做商城
  • 摄影素材库网站服装页面设计的网站
  • 如何用国外网站做头条做个游戏app的费用大概多少
  • 网站 形象入口页福州网站建设网络公司排名
  • 免费下载教学设计的网站送网站建设管理信息内容审核制度
  • 外贸专业网站的公司百度旗下13个app
  • 物理组简介 网站建设高师院校语言类课程体系改革与建设 教学成果奖申报网站
  • 爱网站无法登录怎么回事手表网
  • 网站建设公司现在还挣钱吗山西手动网站建设推荐平台