回调和观察者模式的关系
来源:互联网 发布:张恩民 php 编辑:程序博客网 时间:2024/05/01 07:02
Android的框架中有非常多的地方使用了回调的模式,例如Activity的生命周期,按钮的点击事件等。
下面是回调的基本模型:
如果把类A改成Button,CallBack改成OnClickListener,register函数改成setOnclickListener,和android里面设置点击事件是一样的。callback.oncall();只是在点击事件激发后调用而已。
观察者模式:
定义对象间的一对多的依赖关系,当一个对象状态发生改变时,所有依赖他的对象都得到通知并被自动更新。
目标:
观察者抽象接口
观察者1
观察者2
目标对象保存了各个观察者的引用,当需要通知时发送通知。
实际上,回调是观察者模式的简单形式。观察者模式也就是将回调上升到设计模式的理论高度上了而已。
将回调例子中的main方法改成
增加CallBack的实现类CallBackImp
这样看来,是一致的,区别是观察者模式里面目标类维护了所有观察者的引用,而回调里面只是维护了一个引用。
0 0
- 回调和观察者模式的关系
- 【NodeJS】回调和异步调用的关系
- iOS中利用委托和观察者模式实现变量回调和方法回调
- IOC 与 好莱坞原则(和回调和观察者模式比较类似)
- 观察者模式与回调机制的关系
- C#委托 和代理模式 观察者模式的关系
- 观察者模式详解:老师和学生的关系
- 观察者模式——应聘者和应聘公司的关系
- 安卓中Rxjava(观察者模式、异步)的简单使用(1) 观察者与被观察者线程之间的关系
- 设计模式与泡mm的关系之Observer观察者模式及再思考
- 设计模式---观察者模式(恐怖袭击、地震的例子,有类关系图)
- 观察者模式的应用
- 观察者模式的应用
- 增强的观察者模式
- 观察者模式的理解
- iphone 的观察者模式
- 观察者模式的应用
- 观察者模式的应用
- GitHub入门指南(翻译)
- HMM隐马尔科夫 python库hmmlearn
- Android之Listview(一)
- 48-信号大结局
- 架构为什么会腐化
- 回调和观察者模式的关系
- tomcat 与 nginx,apache的区别及优缺点
- visio画图旋转任意角度,不保留白边保存pdf格式
- c++如何读取.{20D04FE0-3AEA-1069-A2D8-08002B30309D}下的内容
- 字体设计:拉丁字母字体书写方法分类
- 国内有基于GamePlay3D的游戏
- xml与Java对象的转换
- 高性能基础知识
- RandomAccessFile小节