社区
设计模式
帖子详情
Observer观察者模式和Chain Of Responsibility职责链模式有什么区别?
不是导演李安
2009-12-31 12:10:05
RT。
我感觉职责链模式包含观察者模式。谢谢各位大侠解答
...全文
388
5
打赏
收藏
Observer观察者模式和Chain Of Responsibility职责链模式有什么区别?
RT。 我感觉职责链模式包含观察者模式。谢谢各位大侠解答
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xsmm2010
2010-04-21
打赏
举报
回复
职责链与观察者在功能上十分相似,甚至基本没有区别。
它们不同更多的是一种人为的规定。它们都是将消息源与接受者解耦。职责链也可以设计成让所有感兴趣的接收者都处理,而不是只有一个人。至于职责链的次序也是可以动态改变的,因此并不构成它与观察者区别的本质特征。
它们真正的区别是:一个是推模式,一个是拉模式,仅此而已。
CACACACACA
2010-02-02
打赏
举报
回复
简单说点:
职责链是在链上找需要自己的处理的,自己不处理的传给一个。
而观察一般情况下是---注册的都要收到通知。
不是导演李安
2010-01-06
打赏
举报
回复
谢谢楼上回复。
我的想法是,如果职责链模式写特殊一点。当判断出此步骤可以执行时,仍然按照指针传递到下一个链接,直到整个链接全部遍历完成。这不就是观察者模式吗?
这是我的小小的疑问。
hityct1
2010-01-04
打赏
举报
回复
我也是菜鸟。没看出职责链模式包含观察者模式。
观察者模式就像订阅报纸,读者(即观察者)在报社(被观察者)登记订阅报纸,有了新报纸,报社就根据登记表将报纸发送给读者。虽然必然有一个发送顺序,但不强调必须按这个顺序。
职责链模式就像看病,病人到社区医院看病,如果社区的医生诊断不出病情,就将病人转给上一级医院,如果上一级的医院也诊断不出病因,就将病人转给更上一级,直到有医生诊断出病因。这个过程强调“顺序”。
观察者模式需要把信息通知被观察者,而职责链模式却未必,有能处理的,就不用传给下一个处理者了。
不是导演李安
2010-01-04
打赏
举报
回复
这个版块来的人太少了。来了能回答问题的人就更少了。希望高手能多光顾这个版块。呵呵
php设计模式
Chai
n Of
Respons
ibility
(
职责链模式
)
复制代码 代码如下: <?php /** *
职责链模式
* * 为解除请求的发送者和接收者之间的耦合,而使用多个对象都用机会处理这个请求,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它 * */ abstract class Handler { protected $_handler = null; public function setSuccessor($handler) { $this->_handler = $handler; } abstract function handleRequest($request); } class ConcreteHandlerZ
设计模式Golang实现《研磨设计模式》读书笔记.zip
设计模式Golang实现《研磨设计模式》读书笔记Go语言设计模式Go语言设计模式的实例代码创建模式工厂简单模式(Simple Factory)工厂方法模式(工厂方法)抽象工厂模式(Abstract Factory)创建者模式(Builder)原型模式(Prototype)单例模式(Singleton)结构型模式外观模式(Facade)适配器模式(Adapter)代理模式(Proxy)组合模式(Composite)享元模式(Flyweight)装饰模式(Decorator)桥模式(Bridge)行为模式中介者模式(Mediator)
观察者模式
(
Ob
server
)命令模式(Command)迭代器模式(Iterator)模板方法模式(模板方法)策略模式(Strategy)状态模式(State)备忘录模式(Memento)解释器模式(Interpreter)
职责链模式
(
Chai
n of
Respons
ibility
)访问者模式(Visitor)
C#面向对象设计模式纵横谈(视频与源码)
讲 师:李建忠 上海祝成信息科技有限公司 高级培训讲师 MSDN特邀讲师 C#面向对象设计模式纵横谈(1):面向对象设计模式与原则 C#面向对象设计模式纵横谈(2):Singleton 单件(创建型模式) C#面向对象设计模式纵横谈(3):Abstract Factory 抽象工厂模式(创建型模式) C#面向对象设计模式纵横谈(4):Builder 生成器模式(创建型模式) C#面向对象设计模式纵横谈(5):Factory Method 工厂方法模式(创建型模式) C#面向对象设计模式纵横谈(6):Prototype 原型模式(创建型模式) C#面向对象设计模式纵横谈(7):Adapter 适配器模式(结构型模式) C#面向对象设计模式纵横谈(8):Bridge 桥接模式(结构型模式) C#面向对象设计模式纵横谈(9):Composite 组合模式(结构型模式) C#面向对象设计模式纵横谈(10):Decorator 装饰模式(结构型模式) C#面向对象设计模式纵横谈(11):Facade 外观模式(结构型模式) C#面向对象设计模式纵横谈(12):Flyweight 享元模式(结构型模式) C#面向对象设计模式纵横谈(13):Proxy 代理模式(结构型模式) C#面向对象设计模式纵横谈(14):
Chai
n of
Respons
ibility
职责链模式
(行为型模式) C#面向对象设计模式纵横谈(15):(行为型模式) Command 命令模式 C#面向对象设计模式纵横谈(16):(行为型模式) Interpreter 解释器模式 C#面向对象设计模式纵横谈(17):(行为型模式) Mediator 中介者模式 C#面向对象设计模式纵横谈(18):(行为型模式) Iterator 迭代器模式 C#面向对象设计模式纵横谈(19):(行为型模式)
Ob
server
观察者模式
C#面向对象设计模式纵横谈(20):(行为型模式)
Chai
n Of
Respons
ibility
职责链模式
C#面向对象设计模式纵横谈(21):(行为型模式) Memento 备忘录模式 C#面向对象设计模式纵横谈(22):(行为型模式) State 状态模式 C#面向对象设计模式纵横谈(23):(行为型模式) Strategy 策略模式 C#面向对象设计模式纵横谈(24):(行为型模式) Visitor 访问者模式 C#面向对象设计模式纵横谈(25):设计模式总结
java设计模式教程+源代码
AbstractFactory ( 抽象工厂 ) FactoryMethod ( 工厂方法 ) Singleton ( 单态模式 ) Builder ( 建造者模式 ) Prototype ( 原型模式 ) Adapter ( 适配器模式 ) Bridge ( 桥接模式 ) Composite ( 组合模式 ) Decorator ( 装饰模式 ) Facade ( 外观模式 ) Flyweight ( 享元模式 ) Proxy ( 代理模式 )
Chai
n of
Respons
ibility
( 责任链模式 ) Command ( 命令模式 ) Interpreter ( 解释器模式 ) Iterator ( 迭代器模式 ) Mediator ( 中介者模式 ) Memento ( 备忘录模式 )
Ob
server
(
观察者模式
) State ( 状态模式 ) Strategy ( 策略模式 ) TemplateMethod ( 模板方法 ) Visitor ( 访问者模式 )
JAVA设计模式之行为模式
这是JAVA设计模式中属于行为模式的部分,包括Template(模板模式)、
Chai
n of
Respons
ibility
(责任链模式)、Memento(纪念品模式)、Mediator(中介模式)、Strategy(策略模式)、State 、
Ob
server
(
观察者模式
)、Visitor(访问模式)、Command(命令模式)的源代码,由于迭代器模式和解释器模式应用比较少,这两种模式我没有提供源码。其中有些模式中可能有多个版本的代码,前面的版本是为了与设计模式的代码进行对比,增加理解。
设计模式
3,409
社区成员
1,071
社区内容
发帖
与我相关
我的任务
设计模式
专题开发/技术/项目 设计模式
复制链接
扫一扫
分享
社区描述
专题开发/技术/项目 设计模式
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章