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

设计模式——责任链模式

什么是责任链?
责任链简单来说就是一种设计模式,它允许将请求沿着一个处理链传递,直到链中的某个对象处理它。这样,发送者无需知道哪个对象将处理请求,所有的处理对象都可以尝试处理请求或将请求传递给链上的下一个对象。

举生活中的例子,当我们需要请假时,我们把请假条交给项目经理,假如是一个短时间的请假,项目经理就可以处理我们的请求,如果是长时间请假,那么会将我们的请求进一步传递给副经理,副经理如果觉得自己也处理不了,就再次传递给总经理。

例如:

public class Main {public static void main(String[] args) { Handler leader = new Leader();Handler boss = new Boss();leader.setNextHandler(boss);leader.process(7);    }}abstract class Handler{    public Handler nextHandler;    public void setNextHandler(Handler nextHandler) {        this.nextHandler = nextHandler;}    public abstract void process(Integer info);}class Leader extends Handler{@Override    public void process(Integer info) {        if (info>0 && info<5)System.out.println("leader 处理....");else            nextHandler.process(info);}}class Boss extends Handler{@Override    public void process(Integer info) {System.out.println("Boss 处理...");    }}
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/cebad8e90c5d4f2bb5fad231d6a74570.png)将处理请求数字7交给leader处理,但是它处理不了,继续交给Boss处理 
http://www.xdnf.cn/news/1170343.html

相关文章:

  • 欧式装修颜色要怎么搭配?
  • Linux研学-MySQL安装
  • C# 类 封装 属性 练习题
  • 暑假算法训练.6
  • [LLM]Synthetic Visual Genome
  • pluto example, heat-1d优化分析
  • ClearML库详解:从实验跟踪到模型部署的全流程管理
  • KafkaMQ 日志采集最佳实践
  • Hadoop调度器深度解析:FairScheduler与CapacityScheduler的优化策略
  • Navicat 远程连接SQLlite数据库
  • 【锁】MySQL中有哪几种锁?
  • 标记语言---XML
  • 《Webpack热更新瓶颈突破:全链路优化指南》
  • Java函数指南:从Function到BiFunction的深度解析
  • 从ZooKeeper到KRaft:Kafka架构演进与无ZooKeeper部署指南
  • React 面试题库
  • Redis 5.0中的 Stream是什么?
  • Vue开发常用库(含npm安装命令)
  • Linux中信号认识及处理和硬件中断与软中断的讲解
  • 设计模式七:抽象工厂模式(Abstract Factory Pattern)
  • el-input 动态获焦
  • An error occurred at line: 1 in the generated java file问题处理及tomcat指定对应的jdk运行
  • 对随机生成的html文件做标签简析
  • Python趣味算法:折半查找(二分查找)算法终极指南——原理、实现与优化
  • Spring 核心知识点梳理 1
  • Jmeter使用 - 2
  • 第十一章 用Java实现JVM之异常处理
  • 使用 Ansys Fluent 软件参数化工作流程对搅拌罐中的稳态涡流进行仿真
  • 质量即服务:从测试策略到平台运营的全链路作战手册
  • 日语学习-日语知识点小记-构建基础-JLPT-N3阶段(7):自動詞 & 他動詞