Java编程23种设计模式实战篇13:Java设计模式_(行为型)_责任链模式

news/2024/5/19 11:49:48 标签: Java设计模式, 行为型, 责任链模式

引用百科

责任链模式是一种设计模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。

 

责任链模式涉及到的角色:
● 抽象处理者(Handler)角色:定义出一个处理请求的接口。如果需要,接口可以定义 出一个方法以设定和返回对下家的引用。这个角色通常由一个Java抽象类或者Java接口实现。抽象方法handleRequest()规范了子类处理请求的操作。
● 具体处理者(RealHandler)角色:具体处理者接到请求后,可以选择将请求处理掉,或者将请求传给下家。由于具体处理者持有对下家的引用,因此,如果需要,具体处理者可以访问下家。

 

 

案例:

如:有个请假需求,根据不同的请假天数进行不同的审批

<=2天,只项目经理审批 RealHandlerC

>2,<=5天,需要到部门经理审批 RealHandlerB

>5天,需要总经理审批 RealHandlerA

 

如下:


http://www.niftyadmin.cn/n/1555045.html

相关文章

k1075停运吗_看清楚!还有2天,上饶火车站就要停运7趟列车!城区这路段已恢复双向通车...

原标题&#xff1a;看清楚&#xff01;还有2天&#xff0c;上饶火车站就要停运7趟列车&#xff01;城区这路段已恢复双向通车江西最具影响力十大媒体公众号这两天的饶城总算从雨水中解脱出来了阳光灿烂的日子是不是该出去走走了今天小编要告诉大家两个出行的好消息麻溜的往下看…

为什么jvm要分为堆、方法区等?原理是什么?_面试中必问的jvm与性能优化

1. 描述一下 JVM 加载 Class 文件的原理机制?在面试java工程师的时候&#xff0c;这道题经常被问到&#xff0c;故需特别注意。Java中的所有类&#xff0c;都需要由类加载器装载到JVM中才能运行。类加载器本身也是一个类&#xff0c;而它的工作就是把class文件从硬盘读取到内存…

Java编程23种设计模式实战篇14:Java设计模式_(结构型)_享元模式

引用百科 享元模式(英语:Flyweight Pattern)是一种软件设计模式。它使用共享物件,用来尽可能减少内存使用量以及分享资讯给尽可能多的相似物件;它适合用于只是因重复而导致使用无法令人接受的大量内存的大量物件。通常物件中的部分状态是可以分享。常见做法是把它们放在外…

串行接口和以太网接口的区别_威纶触摸屏串口RS485 2W与RS485 4W有什么区别?

在威纶通触摸屏的系统参数设置页我们可以看到&#xff0c;接口类型里面有不同的类型&#xff0c; RS232、RS485、RS485 2W、RS485 4W&#xff0c;经常有学员问RS-485 2W和RS-485 4W有什么区别呢&#xff1f;那小编就给大家解释一下~我们看到这个触摸屏串行接口除了RS485&#x…

甘肃暴雨强度公式_中国城市新一代暴雨强度公式

绪论序图图例公式编制站点图图例中国政区中国城市暴雨强度公式编制站点分布图中国地势中国水系京、津、冀城市暴雨强度公式编制站点分布图京、津、冀城市暴雨强度公式成果表山西省城市暴雨强度公式编制站点分布图山西省城市暴雨强度公式成果表内蒙古自治区城市暴雨强度公式编制…

Java编程23种设计模式实战篇15:Java设计模式_(结构型)_装饰模式

引用百科 装饰模式指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。 特点 (1) 装饰对象和真实对象有相同的接口。这样客户端对象就能以和真实对象相同的方式和装饰对象交互。 (2) 装饰对…

让浏览器获取焦点失效_解决浏览器保存密码自动填充问题

解决浏览器保存密码自动填充问题问题描述话说有一天&#xff0c;我如往常一样打开我的开发网站进行登录操作。浏览器很平常的在我们进行登录操作之后询问我是否需要记住密码&#xff0c;懒惰如我点击了记住密码。一切都很正常的进行着&#xff0c;没有什么异常发生。然而&#…

linux授权文件夹给用户_开发者必备Linux命令

开发者必备Linux常用命令&#xff0c;掌握这些命令绝对够了&#xff0c;基于CenterOS7.6。系统服务管理systemctl输出系统中各个服务的状态&#xff1a;systemctl list-units --typeservice查看服务的运行状态&#xff1a;systemctl status firewalld关闭服务&#xff1a;syste…