【设计模式-观察者模式】
来源:互联网 发布:hadoop书籍推荐 知乎 编辑:程序博客网 时间:2024/06/02 08:20
核心思想:注册——通知——撤销注册
观察者
(Observer)将自己注册到被观察对象(Subject)中,被观察对象将观察者存放在一个容器(Container)里。
被观察
被观察对象发生了某种变化(如图中的SomeChange),从容器中得到所有注册过的观察者,将变化通知观察者。
撤销观察
观察者告诉被观察者要撤销观察,被观察者从容器中将观察者去除。
观察者将自己注册到被观察者的容器中时,被观察者不应该过问观察者的具体类型,而是应该使用观察者的接口。这样的优点是:假定程序中还有别的观察者,那么只要这个观察者也是相同的接口实现即可。一个被观察者可以对应多个观察者,当被观察者发生变化的时候,他可以将消息一一通知给所有的观察者。基于接口,而不是具体的实现——这一点为程序提供了更大的灵活性。
0 0
- 模式设计:观察者模式
- 设计模式-----观察者模式
- 设计模式-观察者模式
- 设计模式--观察者模式
- 设计模式:观察者模式
- 设计模式-----观察者模式
- 设计模式:观察者模式
- 设计模式-观察者模式
- 设计模式 观察者模式
- 设计模式-观察者模式
- 设计模式-【观察者模式】
- 设计模式-观察者模式
- 设计模式 -- 观察者模式
- 设计模式-观察者模式
- 【设计模式】观察者模式
- 设计模式- 观察者模式
- 设计模式- 观察者模式
- 设计模式--观察者模式
- 专访12306技术负责人朱建生:能否向淘宝取经
- [LeetCode]Reverse Linked List II, 解题报告
- 12306采用Pivotal GemFire分布式解决方案 解决尖峰高流量并发问题
- 我的2013年
- MAPJOIN来解决实际的问题
- 【设计模式-观察者模式】
- Android系统中setprop,getprop,watchprops命令的使用
- Chapter 6 The keyboard
- if语句的效率
- 【设计模式-代理模式】
- 写给即将进入IT行业的应届生们——谈谈IT岗位(只转载软件工程师的部分&美化了一下)
- 九度OJ 1078 二叉树遍历
- 动手学MFC之二——对话框初探
- duilib 关于怎么调用ListUI中的GetItemText