设计模式 - 学习笔记 - 观察者模式ObserverPattern
Posted 笑虾
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式 - 学习笔记 - 观察者模式ObserverPattern相关的知识,希望对你有一定的参考价值。
设计模式 - 学习笔记 - 观察者模式ObserverPattern
学习总结
基本逻辑
- 定义
发布者
和观察者
两个接口,然后实现1个发布者
和n个观察者
。 - 每个
观察者
都实现了自己的update(msg)
方法来更新数据。 发布者
维护一个观察者
列表,并实现一个通知方法notify()
遍历列表逐个调用观察者.update
方法传入msg
对比订阅发布模式
观察者模式
与订阅发布模式
。后者对前者进一步拆分细化,将维护列表
与发布通知
工作独立出来作为调度中心
。- 强行解释的话:
2.1.订阅发布模式
的表达更贴切于跨服务间的协作。如:消息队列,邮件订阅…
2.2.观察者模式
更贴切的表达单个服务内部协作。如:更新进度条动画…
对比访问者模式
- 想象一下,当
Element
接口的实现简化为1个。 Visitor
接口实现N多,所以客户端维护一个Visitor
列表。- 当新数据产生时,我们遍历
Visitor
列表,调用所有访问者
来访问。 - 是不是就完成
观察者模式
了?
参考资料
以上是关于设计模式 - 学习笔记 - 观察者模式ObserverPattern的主要内容,如果未能解决你的问题,请参考以下文章
设计模式 - 学习笔记 - 观察者模式ObserverPattern