<?php
/**
*3.5职责链模式
* 定义:
* 使多个对象都有机会处理请求,从而避免请求的
* 发送者和接受者直接的耦合关系。将这个对象连
* 成一条链,并沿着这条链传递该请求,直到有一
* 个对象处理它为止。
* 角色:
* 1.抽象Handler类
* 职责:定义一个处..
分类:
其他好文 时间:
2015-02-17 23:42:02
阅读次数:
161
今天我们要讨论的设计模式与前面提到的状态模式非常相似,他们不能的地方:状态模式是每个具体的状态处理自己状态的事务,若非自己状态处理的数据则将状态移动到一下一个具体状态类处理;而职责链则是根据自己的职责完成本职工作,若不能完成则判断是否已经关联了下一个环节职责,若存在则调用下一环节的处理。他们两个一个是在具体类中已经设定了下一环节,而另外一个则是在客户端先设定好职责链。
什么是职责链模...
分类:
其他好文 时间:
2015-02-13 11:42:57
阅读次数:
130
职责链模式是一个对象A向另一个对象B发起请求,如果B不处理,可以把请求转给C,如果C不处理,又可以把请求转给D。一直到有一个对象愿意处理这个请求为止。打个比方,客户让老板写个php程序。老板肯定不写,然后老板交给了部门经理。部门经理不愿意写,又交给项目经理。项目经理不会写,又交给程序员。最后由码农来...
分类:
Web程序 时间:
2015-02-05 10:48:18
阅读次数:
116
一、简介1、当客户提交一个请求时,请求沿着链传递直到有一个管理者对象处理它。二、程序 1 // 职责链模式.cpp : 定义控制台应用程序的入口点。 2 // 3 4 #include "stdafx.h" 5 #include 6 #include 7 using namespac...
分类:
其他好文 时间:
2015-01-28 22:36:02
阅读次数:
226
以下关于GOF的一些例子命名不是很准确,但是大概意思差不多,懒得再去翻书了模拟观察者模式模拟中介者模式模拟command模式模拟memento和command模拟观察者模式观察者与职责链模式应该是我们项目中用的最多的了我在之前也写过一篇利用观察者模式对模块进行解耦,当时还是用纯虚函数http://w...
分类:
其他好文 时间:
2015-01-26 20:52:59
阅读次数:
236
题记==============================================================================本php设计模式专辑来源于博客(jymoz.com),现在已经访问不了了,这一系列文章是我找了很久才找到完整的,感谢作者jymoz的辛苦付出...
分类:
Web程序 时间:
2015-01-25 15:11:02
阅读次数:
185
用途 职责链模式 (Chain Of Responsibility) 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 职责链模式是一种行为型模式。结构 图-职责链模式Handler : 定义一个处...
分类:
编程语言 时间:
2015-01-22 14:58:11
阅读次数:
279
命令模式:一次设定,统一执行。状态模式:相当于Ifelseifelse;设计路线:各个State类的内部实现(相当于If,elseIf内的条件)执行时通过State调用Context方法来执行。职责链模式:相当于Swichcase设计路线:客户设定,每个子类(case)的参数是下一个子类(case)...
分类:
其他好文 时间:
2015-01-05 18:39:15
阅读次数:
167
职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 好处:接收者和发送者都没有对方的明确信息,且链中的对象自己也并不知道链的结构。结果是职责链可简化对象的相互连接,它们仅需保持一个指向其后...
分类:
其他好文 时间:
2015-01-04 16:59:32
阅读次数:
127
模式动机职责链可以是一条直线、一个环或者一个树形结构,最常见的职责链是直线型,即沿着一条单向的链来传递请求。链上的每一个对象都是请求处理者,职责链模式可以将请求的处理者组织成一条链,并使请求沿着链传递,由链上的处理者对请求进行相应的处理,客户端无须关心请求的处理细节以及请求的传递,只需将请求发送到链...
分类:
其他好文 时间:
2014-12-30 18:49:58
阅读次数:
218