设计模式学习--责任链模式

原创 2016年06月01日 07:30:43

责任链模式: 使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系,将这些对象连成一条链,并沿着这条链传递该请求,只到有对象处理他未止.


使用场景:

多个对象可以处理同一个请求,但具体由哪个对象处理则在运行时动态觉得

在请求处理者不明确的情况下向对个对象中的一个提交一个请求

需要动态指定一组对象处理请求


对于职责链中的一个处理者对象,其只有两个行为,一是处理请求, 二是将请求转送给下一个节点,不允许某个处理者对象在处理了请求后又将请求转送给上一个节点的情况.

责任链模式在android源码中比较类似的实现是对事件的分发处理.

当客户提交一个请求时,请求时沿链传递至有一个对象复杂处理它, 这样使得接受者和发送者都没有对方的明确信息,且链中的对象也并不知道链的结构,结果是职责链可简化对象的相互连接,他们仅需保持一个指向其后继者的引用,而不需保持它所有的候选接受者的引用.这也就大大的降低了耦合度.

版权声明:本文为博主原创文章,欢迎转载,请注明出处,谢谢。

c++设计模式之(状态模式和责任链模式)的实现

c++的设计模式系列分为以下几种: //按照目的来分,有:  (1)创建型模式:处理对象的创建过程 (2)结构型模式:处理类或者对象的组合 (3)行为型模式:对怎样交互和分...
  • Strong_HCyouth
  • Strong_HCyouth
  • 2016年11月30日 15:40
  • 509

GOF23设计模式之责任链模式(chain of responsibility)之实现

 /**  * 请假条  * 封装请假的信息。  */ package com.bjsxt.cn.chainOfResponsibility; public class Leave...
  • lk142500
  • lk142500
  • 2015年04月09日 15:47
  • 967

大话设计模式—责任链模式

顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为...
  • lmb55
  • lmb55
  • 2016年04月04日 00:03
  • 1127

设计模式之---责任链模式(Chain of Responsibility)

场景 击鼓传花是一种热闹而又紧张的饮酒游戏。 在酒宴上宾客依次坐定位置,由一人击鼓,击鼓的地方与传花的地方是分开的,以示公正。 开始击鼓时,花束就开始依次传递,鼓声一落,假如花束在某人手中,则该...
  • u010878994
  • u010878994
  • 2016年04月25日 17:54
  • 312

IOS设计模式之责任链模式

转载:http://my.oschina.net/daguoshi/blog/495573 本篇文章参照Objective-C编程之道,iOS设计模式解析一书(Carlo Chung)而来的,参考了...
  • lcg910978041
  • lcg910978041
  • 2016年04月24日 14:56
  • 430

设计模式---责任链模式(C++实现)

责任链模式(Chain of Responsibility Pattern)为请求创建一个接受者对象的链。这种模式给与请求的类型,对请求的发送者和接受者进行解耦。属于行为型模式。 在这种模式...
  • My_heart_
  • My_heart_
  • 2017年03月16日 15:48
  • 564

Android设计模式应用-责任链模式

责任链模式:Chain of Responsibility 有多个对象,每个对象持有对下一个对象的引用,这样就会形成一条链,请求在这条链上传递,直到某一对象决定处理该请求。但是发 出者并不清楚到底最...
  • u014737138
  • u014737138
  • 2016年04月03日 18:45
  • 496

iOS设计模式--责任链模式

原文地址:http://my.oschina.net/daguoshi/blog/495573?fromerr=9lqAJyi7 何为责任链模式?     责任链模式的主要思想...
  • huakaihualuo316
  • huakaihualuo316
  • 2015年12月11日 16:53
  • 409

浅谈php设计模式之责任链模式

责任链模式原理:坦白来讲就是说按照不同的等级去处理事情,如果自己处理不了就交给上级去处理。这种处理方式叫做责任链模式。应用场景:OA管理系统中请假。论坛举报。 脏话 ...
  • baidu_28678737
  • baidu_28678737
  • 2016年03月16日 00:04
  • 551

Java设计模式----责任链模式

简述:     前端时间再看一些类库的源码,发现责任链模式的强大之处,尤其是和建造者模式的结合后强大的动态可扩展性更是牛逼的一塌糊涂。接下来赶紧了解一下吧!     我们先来了解一下什么是责任...
  • u012810020
  • u012810020
  • 2017年05月05日 12:50
  • 596
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:设计模式学习--责任链模式
举报原因:
原因补充:

(最多只允许输入30个字)