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

世界500强企业招聘网站教育网站建设解决方案

世界500强企业招聘网站,教育网站建设解决方案,google官方下载安装,扁平网站配色责任链模式#xff08;Chain of Responsibility Pattern#xff09;是一种行为设计模式#xff0c;它允许你将请求沿着处理者链进行传递#xff0c;直到有一个处理者能够处理该请求。 在责任链模式中#xff0c;多个处理者对象被连接成一个链。当接收到一个请求时#xf…责任链模式Chain of Responsibility Pattern是一种行为设计模式它允许你将请求沿着处理者链进行传递直到有一个处理者能够处理该请求。 在责任链模式中多个处理者对象被连接成一个链。当接收到一个请求时每个处理者会判断自己是否有能力来处理该请求如果可以处理则直接处理如果不能处理则将请求传递给链中的下一个处理者。这样请求就会依次经过整个链直到找到一个合适的处理者处理请求或者请求到达链的末端仍然没有处理者能够处理。 责任链模式适用于以下场景 请求需要被多个对象处理当一个请求需要经过多个对象的处理时可以使用责任链模式。每个对象都能够判断自己是否能够处理该请求从而实现责任的分担和协作。需要动态指定处理对象通过将处理者对象组织成一个链可以在运行时动态地指定处理请求的对象集合。这样可以灵活地增加或删除处理者并且不影响客户端代码。可以按照顺序执行处理步骤如果有一系列相关的处理步骤需要按照特定的顺序执行可以使用责任链模式。每个处理者只负责完成自己的处理步骤从而简化了客户端代码并且提高了代码的可维护性。需要避免请求发送者和接收者之间的耦合责任链模式通过将请求发送者和接收者解耦使得发送者不需要知道是哪个具体处理者来处理请求。这样可以降低系统的耦合度并提高代码的灵活性。有时候需要在处理请求之前进行预处理或后处理操作责任链模式可以方便地在处理请求之前或之后进行其他操作例如日志记录、数据统计等。 责任链模式适用于在处理对象之间存在松散耦合、需要动态指定处理对象并且能够按照特定顺序执行处理步骤的情况下使用。当然具体是否使用责任链模式还要根据具体问题的需求和限制来决定。 责任链模式的主要角色 在责任链模式中每个具体处理者都有可能处理请求也有可能将请求转发给链中的下一个处理者。这样在调用方和具体处理者之间形成了一条职责链请求会按照职责链上的顺序依次传递直到有一个处理者能够处理请求或者职责链的末端没有处理者能够处理请求时结束。通过动态地组织处理者对象责任链模式可以灵活地处理请求并且能够简化代码结构。 抽象处理者Handler定义一个接口声明了处理请求的方法并且可以拥有一个指向下一处理者的引用。该角色可以是抽象类或接口。具体处理者Concrete Handler实现抽象处理者接口对请求进行具体的处理。如果自己无法处理请求可以将请求转发给下一个处理者。客户端Client创建处理者对象并且将请求发送到处理者链中的第一个处理者对象。客户端通常不关心具体的处理者对象只需要知道链中的第一个处理者。 责任链模式的java代码实例 实现处理一个系统bug由初级程序员到高级程序员到架构师顺级处理 抽象处理者 public interface Handler {/*** 下一个处理者** param handler*/void setNext(Handler handler);/*** 处理bug** param bugLevel* return*/String dealBug(int bugLevel);}具体处理者 /*** 初级程序员*/ public class JuniorProgrammer implements Handler {private Handler nextHandler;Overridepublic void setNext(Handler handler) {this.nextHandler handler;}Overridepublic String dealBug(int bugLevel) {String res ;if (bugLevel 3) {System.out.println(JuniorProgrammer deal this bug!);} else if (nextHandler ! null) {System.out.println(JuniorProgrammer hand over to SeniorProgrammer this bug!);res nextHandler.dealBug(bugLevel);} else {System.out.println(JuniorProgrammer throw this bug!);res bug is throw into the street;}return res;} }/*** 高级程序员*/ public class SeniorProgrammer implements Handler {private Handler nextHandler;Overridepublic void setNext(Handler handler) {this.nextHandler handler;}Overridepublic String dealBug(int bugLevel) {String res ;if (bugLevel 6) {System.out.println(SeniorProgrammer deal this bug!);} else if (nextHandler ! null) {System.out.println(SeniorProgrammer hand over to Architect this bug!);res nextHandler.dealBug(bugLevel);} else {System.out.println(SeniorProgrammer throw this bug!);res bug is throw into the street;}return res;}}/*** 架构师*/ public class Architect implements Handler {private Handler nextHandler;Overridepublic void setNext(Handler handler) {this.nextHandler handler;}Overridepublic String dealBug(int bugLevel) {String res ;if (bugLevel 8) {System.out.println(Architect deal this bug!);} else if (nextHandler ! null) {System.out.println(Architect hand over to BOSS this bug!);res nextHandler.dealBug(bugLevel);} else {System.out.println(Architect is run!);res bug is throw into the street;}return res;} }客户端 public static void main(String[] args) {Handler juniorProgrammer new JuniorProgrammer();Handler seniorProgrammer new SeniorProgrammer();Handler architect new Architect();juniorProgrammer.setNext(seniorProgrammer);seniorProgrammer.setNext(architect);System.out.println(juniorProgrammer.dealBug(2));//结果// JuniorProgrammer deal this bug!System.out.println(juniorProgrammer.dealBug(5));//结果// JuniorProgrammer hand over to SeniorProgrammer this bug!// SeniorProgrammer deal this bug!System.out.println(juniorProgrammer.dealBug(9));//结果// JuniorProgrammer hand over to SeniorProgrammer this bug!// SeniorProgrammer hand over to Architect this bug!// Architect is run!// bug is throw into the street}责任链模式的优缺点 责任链模式有以下优点 解耦职责责任链模式可以将请求的发送者与接收者解耦发送者不需要知道具体的接收者是谁而是通过链式传递请求每个处理者只负责处理自己所能处理的请求。灵活性和扩展性可以动态地添加、修改或删除处理者灵活配置责任链满足不同的业务需求。新的请求处理者可以很方便地添加到责任链的末尾同时也可以很容易地拆分或重组责任链。可靠性由于请求在责任链中依次传递每个处理者只负责处理自己所能处理的请求因此可以保证每个请求都会被处理。 责任链模式的缺点包括 请求可能无法被处理如果没有正确地配置责任链或者所有处理者都无法处理某个请求那么该请求可能无法被处理。运行时性能开销由于请求的传递是通过链式调用实现的每个处理者都需要进行判断是否能够处理请求并将请求转发给下一个处理者可能会导致一定的运行时性能开销。可能导致系统复杂性增加过多或过少的处理者以及复杂的处理逻辑可能会导致责任链变得非常复杂增加系统的复杂性。需要仔细设计和管理责任链以确保其简洁、高效。
http://www.w-s-a.com/news/150935/

相关文章:

  • 公司网站建设多少费用河北城乡建设官网站
  • 国科联创网站建设广告传媒公司招聘信息
  • 网站后台文章删了 怎么前台还有一级做爰片软件网站
  • 辽宁省建设注册中心网站wordpress 博客插件
  • 做电商看的网站有哪些网站建设需求策划书
  • 关于网站建设交易流程的描述一句话哪些网站用户体验好
  • 男女做暖暖的网站大全深圳平台网站建设外包
  • 凯里展示型网站设计抖音代运营收费详细价格
  • 外包网站会自己做原型吗网站制作怎样盈利
  • 为什么在百度搜不到我的网站电商网站开发过程
  • 什么是网站反链网页设计页面链接
  • 佛山企业网站制作韩国seocaso
  • 微信公司网站vue做社区网站
  • 蒙阴网站优化五核网站建设
  • 企业微商城网站建设wordpress新闻是哪个表
  • 重庆网站开发培训机构电商网站创办过程
  • 企业建网站得多少钱长沙财优化公司
  • 网站开发api平台扒完网站代码之后怎么做模板
  • PHP网站建设选择哪家好动画设计师月薪多少
  • 网站如何做市场推广网站开发主要步骤
  • 浏览器正能量网站网页文章导入wordpress
  • 江西中国建设银行网站首页永久免费自助建网站
  • 创建自己网站的步骤吸引人的微信软文
  • 网站建设与网页设计论述题软件开发公司在哪里
  • 二级网站建设方案模板亚马逊网站建设案例
  • 网站开发兼职团队门户网站如何制作
  • 高州市网站建设开发区招聘信息
  • 上海专业网站制作设计公司企业邮箱怎样注册
  • 网站建设在商标第几类网站建设 设计创意
  • 做一网站APP多少钱重庆中色十二冶金建设有限公司网站