职责链模式 Chain of Responsibility
职责链模式的作用在于职责转移,其实现实际上是一个链表
package chainofres;public abstract class Handler {protected Handler successor;public abstract void action(int request);public void setSuccessor(Handler successor) {this.successor = successor;} }package chainofres;public class ConcurrentHandler1 extends Handler {@Overridepublic void action(int request) {if (request < 100)System.out.println("Handler1 handle this");else if (this.successor != null)this.successor.action(request);} }package chainofres;public class ConcurrentHandler2 extends Handler {@Overridepublic void action(int request) {if (request >= 100 && request < 1000)System.out.println("Handler2 handle this");else if (this.successor != null)this.successor.action(request);} }package chainofres;public class ConcurrentHandler3 extends Handler {@Overridepublic void action(int request) {if (request >= 1000)System.out.println("Handler3 handle this");else if (this.successor != null)this.successor.action(request);} }package chainofres;public class Client {public static void main(String[] args) {Handler h1 = new ConcurrentHandler1();Handler h2 = new ConcurrentHandler2();Handler h3 = new ConcurrentHandler3(); h1.setSuccessor(h2);h2.setSuccessor(h3);int request = 50;h1.action(request);request = 200;h1.action(request);request = 1500;h1.action(request); } }
职责链模式 Chain of Responsibility相关推荐
- 职责链模式(Chain of Responsibility)(对象行为型)
1.概述 你去政府部门求人办事过吗?有时候你会遇到过官员踢球推责,你的问题在我这里能解决就解决,不能解决就推卸给另外个一个部门(对象).至于到底谁来解决这个问题呢?政府部门就是为了可以避免屁民的请求与 ...
- atitit.设计模式(1)--—职责链模式(chain of responsibility)最佳实践O7 日期转换
atitit.设计模式(1)---职责链模式(chain of responsibility)最佳实践O7 日期转换 1. 需求:::日期转换 1 2. 可以选择的模式: 表格模式,责任链模式 1 3 ...
- 设计模式之职责链模式(Chain of Responsibility)摘录
23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而 ...
- 职责链模式(chain of responsibility)
原文地址 一. 写在前面的 这么多的设计模式,我觉得职责链是我第一次看上去最简单,可是回想起来却又最复杂的一个模式. 因此,这个文章我酝酿了很久,一直也没有胆量发出来,例子也是改了又改,可是仍然觉得不 ...
- 设计模式的理解: 职责链模式 (Chain of Responsibility)
职责链模式(Chain of Responsibility Pattern),为请求创建了一个接收者对象的链.这种模式给予请求的类型,对请求的发送者和接收者进行解耦.这种类型的设计模式属于行为型模式. ...
- 重温设计模式(三)——职责链模式(chain of responsibility)
一. 写在前面的 这么多的设计模式,我觉得职责链是我第一次看上去最简单,可是回想起来却又最复杂的一个模式. 因此,这个文章我酝酿了很久,一直也没有胆量发出来,例子也是改了又改,可是仍然觉得不够合理.所 ...
- 『设计模式』职责链模式(Chain of Responsibility) 可怜的加薪、请假之路
23种设计模式+额外常用设计模式汇总 (持续更新) 问题抽象 客户端发出一个请求,会有很多对象都可以来处理这个请求,而且不同对象的处理逻辑是不一样的. 对于客户端而言,无所谓谁来处理,反正有对象处理就 ...
- 37职责链模式(Chain of Responsibility Pattern)
动机(Motivate): 在软件构建过程中,一个请求可能被多个对象处理,但是每个请求在运行时只能有一个接受者,如果显示指定,将必不可少地带来请求发送者与接受者的紧耦合. 如何使请求的 ...
- 责任链模式(Chain of Responsibility)
责任链模式(Chain of Responsibility) 1.意图 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系.将这些对象连成一条链,并沿着这条链传递该请求,直到有一个 ...
最新文章
- 跟我一起学.NetCore之日志(Log)模型核心
- ajax请求php省略后缀,如何在PHP中更安全地处理Ajax请求?
- C#学习(6)——LINQ学习
- 寒冬袭来,带你使用Flask开发一款天气查询软件吧
- curl传post数据流
- PAT (Basic Level) Practice1017 A除以B
- 全网首发:LINUX编译JNA:编译产生libjnidispatch.so
- c语言----斐波那契数列
- 中文数字转阿拉伯数字
- 「数商云专辑」服装/服饰电商平台解决方案
- 远程控制工具哪个好?向日葵VS ToDesk,安卓移动设备远程操控哪个更好用?
- (分布式网络)基于残差网络的多光谱全色图像分布式融合框架
- 抵制微信公众号,从我做起
- 三级数据库知识点学习(五)
- 我的世界服务器自定义ui,自定义主菜单CustomMainMenu mod教程
- DR,CR,DX区别
- PBR--RTR4笔记--第八章 光与颜色
- Ai机器人可以入国籍、可以当主播,当然也可以当电销精英
- UnityC#接阿里云头像自动分割API
- 服务器上的网站怎么打不卡视频,做网站的时候,怎么在网页上播放服务器的视频?...
热门文章
- java中的多对多关系解析_Java中多对多映射关系
- mysql用户表示例_MySQL添加用户、删除用户与授权与关联实例
- 小红书面试题——paddingNum,用逗号分割数字串
- input file设置默认值_innodb_data_file_path设置--通过错误日志中page大小计算实际值...
- 高考计算机专业最低分数线是多少,2021最低多少分可以稳上二本 高考二本分数线是多少...
- 外服封号_王者荣耀外服玩家被封号十年吐槽无辜,官方复审后,玩家表示轻了...
- 当前时间加30分钟_男性早晨坚持慢跑30分钟,一段时间后,或许这些变化不请自来...
- php 的点代表什么意思,linux .(点)是什么意思
- java 变量与常量_java的变量和常量
- android:layout_margintop=3dip,南昌航空大学android期末复习资料之 编程题.pdf