职责链模式的作用在于职责转移,其实现实际上是一个链表

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相关推荐

  1. 职责链模式(Chain of Responsibility)(对象行为型)

    1.概述 你去政府部门求人办事过吗?有时候你会遇到过官员踢球推责,你的问题在我这里能解决就解决,不能解决就推卸给另外个一个部门(对象).至于到底谁来解决这个问题呢?政府部门就是为了可以避免屁民的请求与 ...

  2. atitit.设计模式(1)--—职责链模式(chain of responsibility)最佳实践O7 日期转换

    atitit.设计模式(1)---职责链模式(chain of responsibility)最佳实践O7 日期转换 1. 需求:::日期转换 1 2. 可以选择的模式: 表格模式,责任链模式 1 3 ...

  3. 设计模式之职责链模式(Chain of Responsibility)摘录

    23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而 ...

  4. 职责链模式(chain of responsibility)

    原文地址 一. 写在前面的 这么多的设计模式,我觉得职责链是我第一次看上去最简单,可是回想起来却又最复杂的一个模式. 因此,这个文章我酝酿了很久,一直也没有胆量发出来,例子也是改了又改,可是仍然觉得不 ...

  5. 设计模式的理解: 职责链模式 (Chain of Responsibility)

    职责链模式(Chain of Responsibility Pattern),为请求创建了一个接收者对象的链.这种模式给予请求的类型,对请求的发送者和接收者进行解耦.这种类型的设计模式属于行为型模式. ...

  6. 重温设计模式(三)——职责链模式(chain of responsibility)

    一. 写在前面的 这么多的设计模式,我觉得职责链是我第一次看上去最简单,可是回想起来却又最复杂的一个模式. 因此,这个文章我酝酿了很久,一直也没有胆量发出来,例子也是改了又改,可是仍然觉得不够合理.所 ...

  7. 『设计模式』职责链模式(Chain of Responsibility) 可怜的加薪、请假之路

    23种设计模式+额外常用设计模式汇总 (持续更新) 问题抽象 客户端发出一个请求,会有很多对象都可以来处理这个请求,而且不同对象的处理逻辑是不一样的. 对于客户端而言,无所谓谁来处理,反正有对象处理就 ...

  8. 37职责链模式(Chain of Responsibility Pattern)

    动机(Motivate):     在软件构建过程中,一个请求可能被多个对象处理,但是每个请求在运行时只能有一个接受者,如果显示指定,将必不可少地带来请求发送者与接受者的紧耦合.     如何使请求的 ...

  9. 责任链模式(Chain of Responsibility)

    责任链模式(Chain of Responsibility) 1.意图 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系.将这些对象连成一条链,并沿着这条链传递该请求,直到有一个 ...

最新文章

  1. 跟我一起学.NetCore之日志(Log)模型核心
  2. ajax请求php省略后缀,如何在PHP中更安全地处理Ajax请求?
  3. C#学习(6)——LINQ学习
  4. 寒冬袭来,带你使用Flask开发一款天气查询软件吧
  5. curl传post数据流
  6. PAT (Basic Level) Practice1017 A除以B
  7. 全网首发:LINUX编译JNA:编译产生libjnidispatch.so
  8. c语言----斐波那契数列
  9. 中文数字转阿拉伯数字
  10. 「数商云专辑」服装/服饰电商平台解决方案
  11. 远程控制工具哪个好?向日葵VS ToDesk,安卓移动设备远程操控哪个更好用?
  12. (分布式网络)基于残差网络的多光谱全色图像分布式融合框架
  13. 抵制微信公众号,从我做起
  14. 三级数据库知识点学习(五)
  15. 我的世界服务器自定义ui,自定义主菜单CustomMainMenu mod教程
  16. DR,CR,DX区别
  17. PBR--RTR4笔记--第八章 光与颜色
  18. Ai机器人可以入国籍、可以当主播,当然也可以当电销精英
  19. UnityC#接阿里云头像自动分割API
  20. 服务器上的网站怎么打不卡视频,做网站的时候,怎么在网页上播放服务器的视频?...

热门文章

  1. java中的多对多关系解析_Java中多对多映射关系
  2. mysql用户表示例_MySQL添加用户、删除用户与授权与关联实例
  3. 小红书面试题——paddingNum,用逗号分割数字串
  4. input file设置默认值_innodb_data_file_path设置--通过错误日志中page大小计算实际值...
  5. 高考计算机专业最低分数线是多少,2021最低多少分可以稳上二本 高考二本分数线是多少...
  6. 外服封号_王者荣耀外服玩家被封号十年吐槽无辜,官方复审后,玩家表示轻了...
  7. 当前时间加30分钟_男性早晨坚持慢跑30分钟,一段时间后,或许这些变化不请自来...
  8. php 的点代表什么意思,linux .(点)是什么意思
  9. java 变量与常量_java的变量和常量
  10. android:layout_margintop=3dip,南昌航空大学android期末复习资料之 编程题.pdf