Observer 模式学习笔记
来源:互联网 发布:东京地铁 知乎 编辑:程序博客网 时间:2024/05/20 16:35
今天看android代码,看到里面有观察者模式的应用,记录一下。
Observer模式应用于这种场景,类A的表现依赖于类B的变化。就可以把A(Observer)设置为B(Model)的观察者。
其实现步骤如下:
1.定义一个观察者的接口IModelChangedObserver ,里面有一个onModelChanged的接口函数。
2.定义一个Model接口。
Model有一个观察者数组,用来保存其所有的观察者。
除此以外Model还有如下接口函数:
registerModelChangedObserver(IModelChangedObserver observer),用于添加一个观察者。
unregisterModelChangedObserver(IModelChangedObserver observer),用来删除一个观察者。
notifyModelChanged,在这个函数中,它要调用其所有观察者的onModelChanged函数。
3.定义一个继承于IModelChangedObserver的类ClassObserver,该类要实现onModelChanged这个接口函数,用来标明当数据发生变化时该Observer需要的动作。
4.定义一个继承于Model的类,ClassModel
当该类数据发生变化时,要调用自己的notifyModelChanged这个函数。
5、将ClassModel发生变化的时候,就会调用ClassObserver的onModelChanged函数。
当然Observer和Model直接是m:n的关系
一个Observer可以观察多个Model,一个Model也可以被多个观察者观察。
- Observer 模式学习笔记
- Observer模式学习笔记(一)
- Observer模式学习笔记(二)
- Observer模式 学习笔记1
- 学习笔记----------observer观察者模式
- 设计模式学习笔记--观察者(Observer)模式
- Observer--设计模式学习笔记《二》
- 设计模式学习笔记十九(Observer观察者模式)
- 设计模式学习笔记(七)—Observer观察者模式
- 设计模式学习笔记(二)之观察者模式(Observer)
- java 设计模式学习笔记十三 observer设计者模式
- 【设计模式】学习笔记2:观察者模式(Observer)
- 设计模式学习笔记-观察者模式(Observer)
- 设计模式学习笔记--观察者模式(Observer Pattern)
- 设计模式C++学习笔记之一(Observer观察者模式)
- 设计模式学习笔记——Observer观察者模式
- 设计模式学习笔记——观察者(Observer)模式
- 设计模式 学习笔记 之 观察者模式 Observer (5)
- 【性能跟踪】btrace学习一--安装btrace
- friday
- pftp v1.0 beta源代码
- 三种嵌入式操作系统的分析与比较
- 窗体控件的线程安全调用
- Observer 模式学习笔记
- 数据模型中真的不该再存在char类型了,除非你是char(1)
- eslip中eq与equal的区别
- 【性能跟踪】btrace学习二--btrace一个简单例子
- windows live writer发csdn博客
- 汇编语言常见错误
- 蛮给力的烟水晶
- Broken Necklace
- 杂谈