Android中观察者模式的实现--第二届 Google 暑期大学生博客分享大赛 - 2011 Android 成长篇
本文为第二届 Google 暑期大学生博客分享大赛 - 2011 Android 成长篇参赛作品
观察者模式的定义可以参见wiki中的资料,链接如下
http://zh.wikipedia.org/wiki/观察者模式
其UML类图如下

1.定义
观察者模式(有时又被称为发布/订阅模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实作事件处理系统。
2.参与observe模式的实现
2.1 目标类别
该类别可以提供一个接口让观察者进行添附与解附作业
此类别内有个不公开的观察者串炼,并透过下列函式(方法)进行作业
- 添附(Attach):新增观察者到串炼内,以追踪目标物件的变化。
- 解附(Detach):将已经存在的观察者从串炼中移除。
- 通知(Notify):利用观察者所提供的更新函式来通知此目标已经产生变化。
具体实现可参考如下:
2.2抽象观察者接口
抽象观察者类别是一个必须被实做的抽象类别。这个类别定义了所有观察者都拥有的更新用接口,此接口是用来接收目标类别所发出的更新通知。此类别含有以下函式
- 更新(Update):会被实做的一个抽象(虚拟)函式。
实现可参考如下
3总结
android开发中很多地用到了观察者模式,这个模式很好地帮助我们去更好的架构程序!例如Android中的message程序。
浙公网安备 33010602011771号