行为类模式PK (三):观察者模式和责任链模式

观察者和责任链

观察者和责任链也有些相同的地方: 就是观察者本身可以形成一个观察者链。

以dns解析器为例子:

责任链模式就是本地处理不了域名,就交给上一级,上一级处理不了就再往上,直至处理。 本地有上级,上级还有上级,组成一个责任链。

观察者模式就是, 自己处理不了就通知观察者。 本地dns服务器有观察者是上一级dns服务器,上一级还有观察者。

这两者的区别是:

  • 责任链模式,在链中不会改变传递的消息对象本身。 而在观察者触发链中对象可以自由变化,只要上下级节点对传递对象了解即可。 它不要求链中的消息对象不变化。
  • 上下节点的关系不同。 责任链中上下节点没有关系,都是接收同样的对象,不关心上一节点是什么,只需要按照自己的逻辑进行处理。 触发链中上下级关系亲密,上级信任下级。
  • 消息的分销渠道不同。 责任链中 消息按链传递。 观察者触发链,消息传递是不固定的,因为是观察者模式,可以广播,也可以跳跃。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值