Observer观察者模式和Chain Of Responsibility职责链模式有什么区别?

不是导演李安 2009-12-31 12:10:05
RT。

我感觉职责链模式包含观察者模式。谢谢各位大侠解答
...全文
388 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xsmm2010 2010-04-21
  • 打赏
  • 举报
回复
职责链与观察者在功能上十分相似,甚至基本没有区别。

它们不同更多的是一种人为的规定。它们都是将消息源与接受者解耦。职责链也可以设计成让所有感兴趣的接收者都处理,而不是只有一个人。至于职责链的次序也是可以动态改变的,因此并不构成它与观察者区别的本质特征。

它们真正的区别是:一个是推模式,一个是拉模式,仅此而已。
CACACACACA 2010-02-02
  • 打赏
  • 举报
回复
简单说点:

职责链是在链上找需要自己的处理的,自己不处理的传给一个。

而观察一般情况下是---注册的都要收到通知。
不是导演李安 2010-01-06
  • 打赏
  • 举报
回复
谢谢楼上回复。
我的想法是,如果职责链模式写特殊一点。当判断出此步骤可以执行时,仍然按照指针传递到下一个链接,直到整个链接全部遍历完成。这不就是观察者模式吗?
这是我的小小的疑问。
hityct1 2010-01-04
  • 打赏
  • 举报
回复
我也是菜鸟。没看出职责链模式包含观察者模式。
观察者模式就像订阅报纸,读者(即观察者)在报社(被观察者)登记订阅报纸,有了新报纸,报社就根据登记表将报纸发送给读者。虽然必然有一个发送顺序,但不强调必须按这个顺序。
职责链模式就像看病,病人到社区医院看病,如果社区的医生诊断不出病情,就将病人转给上一级医院,如果上一级的医院也诊断不出病因,就将病人转给更上一级,直到有医生诊断出病因。这个过程强调“顺序”。


观察者模式需要把信息通知被观察者,而职责链模式却未必,有能处理的,就不用传给下一个处理者了。

不是导演李安 2010-01-04
  • 打赏
  • 举报
回复
这个版块来的人太少了。来了能回答问题的人就更少了。希望高手能多光顾这个版块。呵呵
讲  师:李建忠 上海祝成信息科技有限公司 高级培训讲师 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):Chain of Responsibility 职责链模式(行为型模式) C#面向对象设计模式纵横谈(15):(行为型模式) Command 命令模式 C#面向对象设计模式纵横谈(16):(行为型模式) Interpreter 解释器模式 C#面向对象设计模式纵横谈(17):(行为型模式) Mediator 中介者模式 C#面向对象设计模式纵横谈(18):(行为型模式) Iterator 迭代器模式 C#面向对象设计模式纵横谈(19):(行为型模式) Observer 观察者模式 C#面向对象设计模式纵横谈(20):(行为型模式) Chain Of Responsibility 职责链模式 C#面向对象设计模式纵横谈(21):(行为型模式) Memento 备忘录模式 C#面向对象设计模式纵横谈(22):(行为型模式) State 状态模式 C#面向对象设计模式纵横谈(23):(行为型模式) Strategy 策略模式 C#面向对象设计模式纵横谈(24):(行为型模式) Visitor 访问者模式 C#面向对象设计模式纵横谈(25):设计模式总结

3,409

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 设计模式
社区管理员
  • 设计模式
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧