Android中的观察者模式
来源:互联网 发布:信息技术软件有哪些 编辑:程序博客网 时间:2024/06/05 16:53
观察者模式面向的需求是:A 对象(观察者)对 B 对象(被观察者)的某种变化高度敏感,需要在 B 变化的一瞬间做出反应。举个例子,新闻里喜闻乐见的警察抓小偷,警察需要在小偷伸手作案的时候实施抓捕。在这个例子里,警察是观察者,小偷是被观察者,警察需要时刻盯着小偷的一举一动,才能保证不会漏过任何瞬间。程序的观察者模式和这种真正的『观察』略有不同,观察者不需要时刻盯着被观察者(例如 A 不需要每过 2ms 就检查一次 B 的状态),而是采用注册(Register)或者称为订阅(Subscribe)的方式,告诉被观察者:我需要你的某某状态,你要在它变化的时候通知我。 Android 开发中一个比较典型的例子是点击监听器 OnClickListener 。对设置 OnClickListener 来说, View 是被观察者, OnClickListener 是观察者,二者通过 setOnClickListener() 方法达成订阅关系。订阅之后用户点击按钮的瞬间,Android Framework 就会将点击事件发送给已经注册的 OnClickListener 。采取这样被动的观察方式,既省去了反复检索状态的资源消耗,也能够得到最高的反馈速度。当然,这也得益于我们可以随意定制自己程序中的观察者和被观察者,而警察叔叔明显无法要求小偷『你在作案的时候务必通知我』。
OnClickListener 的模式大致如下图:
观察者模式实质上就是一种委派模式。
阅读全文
0 0
- Android中的观察者模式
- Android中的观察者模式
- Android 中的观察者模式Observer
- Android源码中的观察者模式
- Android 中的观察者模式Observer
- Android 中的监听器模式与观察者模式
- android 中的设计模式 之 观察者模式
- Android 中的监听器模式与观察者模式
- Android 中的监听器模式与观察者模式
- Android中的设计模式-观察者模式
- 设计模式---Android中的观察者模式
- android中对观察者模式的使用,Adapter中的观察者
- Android系统源代码中的观察者模式
- 观察者模式在Android中的应用
- Android中的观察者模式简单使用
- Android中的设计模式——DataSetObservable 观察者模式
- Android中的设计模式——观察者模式
- YUI中的观察者模式
- 网络流——洛谷 P2598 [ZJOI2009]狼和羊的故事
- GetSystemMetrics
- Windows拨号上网断开和重连指令
- ubuntu安装软件,Latex,搜狗输入法,Terminator,Source Insight. wine,matlab
- RunTime.getRunTime().addShutdownHook用法
- Android中的观察者模式
- PHP 学习目录
- 领域驱动心得
- 关于ViewPage不刷新数据问题
- hive里面的 null 和 空
- failed to push some refs to 'git@xxx.xxx.xxx.xxx:finger-shoot/shoot-admin.git'
- 代理、网关、隧道
- 惠安惠达新需求-费用结算管理模块里对起始里程进行修改
- Java枚举详解