22.Chain Of Responsibility(行为型模式)
来源:互联网 发布:linux hex编辑器 编辑:程序博客网 时间:2024/06/05 00:44
【起源】
一个请求需要被多个对象中的一个处理,但不知道是哪一个。
结构化的做法是用if...else... ,即将请求与处理对象的映射关系硬编码。
希望找到一种方法,使映射关系灵活变化,即对“请求”和“处理对象”解耦。
【动机】
使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递请求,直到有一个对象处理它为止。
【核心】
对于某个处理对象:1.检查是否可处理请求 2.可以就处理 3.不可以就交给另外一个对象;
多个这样的处理对象按照指定关系排队,处理请求被看做“职责”,从前往后,就组成一条“职责链”。
只需把请求交给排头的“处理对象”,请求就会沿着“职责链”传递下去,直到被处理为止。
从结构化的角度来看,就是有优先级的判断处理机制。
现在换成了用面向对象来实现相同的功能,每个判断处理过程被封装成一个对象;
原来通过 if 语句的先后顺序确定优先级,现在通过对象之间的指定关系来确定;
本质:以面向对象的方式,实现带有优先级的判读处理。
【代码实例】
【模型图】
- 22.Chain Of Responsibility(行为型模式)
- 行为型模式-----责任链模式(chain of responsibility)
- 十三、职责链模式Chain of Responsibility(行为型)
- 职责链模式(Chain of Responsibility)(对象行为型)
- 设计模式(13)-行为型模式-Chain of Responsibility
- [设计模式-行为型]责任链模式(Chain of Responsibility)
- 行为型模式-Chain of Responsibility ( 责任链模式 )
- 行为型模式:责任链模式(Chain of Responsibility Pattern)
- CHAIN OF RESPONSIBILITY 职责链模式 --对象行为型模式
- 设计模式:行为模式:职责链(chain of responsibility)
- 行为模式之Chain of Responsibility模式
- 行为型模式-职责链chain of responsibility
- 行为型模式之职责链CHAIN OF RESPONSIBILITY
- 责任链模式(Chain of Responsibility)----行为笔记
- 行为模式:Chain Of Responsibility(职责链)
- 责任链模式(Chain of Responsibility)----行为笔记
- 【行为模式】chain of responsibility(责任链)
- 【行为型模式】责任链模式(chain of responsibility)之23种java设计模式
- 回家过年(深圳--南昌)
- JAVA高级视频02_IO输入与输出 05 FileInputStream和FileOutPutStream
- 我爱 Ruby 的三十七个理由
- 序列化Dictionary属性到XML里
- 初步oracle数据库中建立用户建立表
- 22.Chain Of Responsibility(行为型模式)
- 图片压缩的JAVAScript
- 学习笔记(一)-Linq To Sql&PhotoShop第二章
- 学习笔记(二)-LINQ to Objects&PS第三章
- 程序的设计什么时候用户与设计者没有差别就好了
- Invoke and BeginInvoke BeginInvoke和EndInvoke方法 (转)
- ql语言艺术(4) SQL的本质
- study
- 一些java教程,有用~