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

网站开发 男生网站建设客户开发方案

网站开发 男生,网站建设客户开发方案,自己做网站花费,四川建设网招标网小谈设计模式#xff08;25#xff09;—职责链模式 专栏介绍专栏地址专栏介绍 职责链模式分析角色分析抽象处理者#xff08;Handler#xff09;具体处理者#xff08;ConcreteHandler#xff09;客户端#xff08;Client#xff09; 优缺点分析优点123 缺点12 应用场… 小谈设计模式25—职责链模式 专栏介绍专栏地址专栏介绍 职责链模式分析角色分析抽象处理者Handler具体处理者ConcreteHandler客户端Client 优缺点分析优点123 缺点12 应用场景多级审批流程异常处理日志记录 Java程序分析首先我们需要定义抽象处理者Handler接口包含处理请求的方法和设置下一个处理者的方法然后我们创建具体处理者ConcreteHandler类实现抽象处理者接口并在处理请求时判断是否能够处理该请求如果能够处理则进行处理否则将请求传递给下一个处理者最后我们创建客户端Client类创建处理链并将请求发送给链中的第一个处理者输出结果分析 专栏介绍 专栏地址 http://t.csdnimg.cn/VpriY 专栏介绍 主要对目前市面上常见的23种设计模式进行逐一分析和总结希望有兴趣的小伙伴们可以看一下会持续更新的。希望各位可以监督我我们一起学习进步加油各位。 职责链模式 职责链模式Chain of Responsibility Pattern是一种行为型设计模式它允许多个对象都有机会处理请求从而避免请求的发送者和接收者之间的耦合关系。职责链模式将请求的发送者和接收者解耦让多个对象都有机会处理请求直到其中一个对象处理成功为止。 分析 在职责链模式中通常会有一个抽象处理者Handler类它定义了处理请求的接口和一个指向下一个处理者的引用。具体处理者ConcreteHandler类实现了抽象处理者的接口负责处理特定的请求如果自己无法处理则将请求传递给下一个处理者。 角色分析 抽象处理者Handler 定义了处理请求的接口并持有下一个处理者的引用。 具体处理者ConcreteHandler 实现了抽象处理者的接口负责处理特定的请求如果无法处理则将请求传递给下一个处理者。 客户端Client 创建处理链并将请求发送给链中的第一个处理者。 优缺点分析 优点 1 降低了请求的发送者和接收者之间的耦合请求发送者无需知道具体的处理者只需将请求发送给第一个处理者即可。 2 可以动态地增加或修改处理链增强了灵活性。 3 可以将请求的处理逻辑分布到多个处理者中避免了单个处理者处理过多的责任。 缺点 1 请求可能无法被处理或者没有处理者能够处理请求需要在链的末尾设置一个默认的处理者来处理这种情况。 2 请求可能会被多个处理者都处理需要控制好处理者之间的关系避免重复处理。 应用场景 多级审批流程 例如请假审批、报销审批等每个级别的领导都有机会处理请求。 异常处理 例如在一个系统中可以通过职责链模式将不同类型的异常交给不同的处理者处理。 日志记录 例如在一个系统中可以通过职责链模式将不同级别的日志交给不同的处理者记录。 Java程序分析 首先我们需要定义抽象处理者Handler接口包含处理请求的方法和设置下一个处理者的方法 public abstract class Handler {protected Handler nextHandler;public void setNextHandler(Handler nextHandler) {this.nextHandler nextHandler;}public abstract void handleRequest(Request request); }然后我们创建具体处理者ConcreteHandler类实现抽象处理者接口并在处理请求时判断是否能够处理该请求如果能够处理则进行处理否则将请求传递给下一个处理者 public class ConcreteHandlerA extends Handler {Overridepublic void handleRequest(Request request) {if (request.getType().equals(TypeA)) {System.out.println(ConcreteHandlerA handles the request.);} else if (nextHandler ! null) {nextHandler.handleRequest(request);}} }public class ConcreteHandlerB extends Handler {Overridepublic void handleRequest(Request request) {if (request.getType().equals(TypeB)) {System.out.println(ConcreteHandlerB handles the request.);} else if (nextHandler ! null) {nextHandler.handleRequest(request);}} }public class ConcreteHandlerC extends Handler {Overridepublic void handleRequest(Request request) {if (request.getType().equals(TypeC)) {System.out.println(ConcreteHandlerC handles the request.);} else if (nextHandler ! null) {nextHandler.handleRequest(request);}} }最后我们创建客户端Client类创建处理链并将请求发送给链中的第一个处理者 public class Client {public static void main(String[] args) {Handler handlerA new ConcreteHandlerA();Handler handlerB new ConcreteHandlerB();Handler handlerC new ConcreteHandlerC();handlerA.setNextHandler(handlerB);handlerB.setNextHandler(handlerC);Request requestA new Request(TypeA);Request requestB new Request(TypeB);Request requestC new Request(TypeC);Request requestD new Request(TypeD);handlerA.handleRequest(requestA);handlerA.handleRequest(requestB);handlerA.handleRequest(requestC);handlerA.handleRequest(requestD);} }输出结果 ConcreteHandlerA handles the request. ConcreteHandlerB handles the request. ConcreteHandlerC handles the request. No handler can handle the request.分析 在这个示例中我们创建了三个具体处理者ConcreteHandlerA、ConcreteHandlerB、ConcreteHandlerC它们分别能够处理不同类型的请求。我们通过设置每个处理者的下一个处理者形成了一个处理链。当客户端发送请求时请求会从链的第一个处理者开始处理如果某个处理者能够处理该请求则进行处理否则将请求传递给下一个处理者直到找到能够处理请求的处理者为止。如果整个链都无法处理请求则输出提示信息。
http://www.dnsts.com.cn/news/271855.html

相关文章:

  • 门户型网站建设方案wordpress白屏问题
  • 淄博网站建设公司有几家山东济南seo整站优化
  • 给个网站好人有好报2021手机网站报名链接怎么做
  • 网站建设平台案例南宁住建局官方网
  • photoshop画简单网站开发者管理
  • 网站建设意思vps wordpress cpu占用过高
  • 建立网站需要哪些手续中国菲律宾世预赛直播
  • 河南网站域名备案有意思网站推荐
  • 网站模板哪个网站好免费h5在线制作平台
  • 国外 网站有做验证码吗兰州装修公司报价明细表
  • 做公司永久免费网站什么好如何看自己网站流量
  • 帝国cms 网站搬家成都兼职建设网站
  • 汕头网站建设搭建商丘网站制作的流程
  • 中国空间站最新消息新闻室内装饰设计说明
  • 网站子页设计广东水利建设与管理信息网站
  • 鄂州第一官方网站八年级信息做网站所用软件
  • 凡科可以建设多个网站吗中国建设教育协会网站培训中心
  • 网站遮罩是什么游戏软件开发公司排名
  • 如何实现企业网站推广的系统性个人社保缴费基数是什么意思
  • 加强普法网站建设的通知物联网卡一年服务费多少钱啊
  • 短视频分享网站开发做电影网站用什么程序
  • 公众号版影视网站开发国外画册设计网站
  • 广州找人做网站whois域名查询官网
  • 做门户网站服务器选择石狮住房和城乡建设网站
  • 品牌网站的目的做电商网站的设计思路有什么意思
  • 山东省环保厅官方网站建设项目网站建设超速云免费
  • 湖南吉首建设官方网站公司网站开发的流程
  • 网站运营目标网站上的地图代码
  • 阳江市建设网站定制产品
  • 广州网站建设 骏域网站建设专家什么网站系统做的最好