第二章 观察者模式
来源:互联网 发布:现在开淘宝挣钱吗 编辑:程序博客网 时间:2024/05/18 03:45
观察者模式:在对象之间定义一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象都会接收到通知,并自动更新。
数据方向:可以由Subject推向(push)Observer,也可以由Observer从Subject拉(pull)。
推(push):subject.notifyObservers(Object data)。
拉(pull):subject.notifyObservers()&subject.getter。方便扩展功能,新增状态时,不用修改和更新对每位观察者的调用,只需改变自己来允许更多的getter方法来取得新增的状态。
Java内置的观察者模式:Observer接口和Observable类。setChange()方法用来标记状态已经改变的事实,这样使在更新Observers时有更多的弹性,可以适当的通知Observers。
设计原则:为了交互对象之间的松耦合而努力。
松耦合的设计之所以能让我们建立有弹性的OO系统,能后应对变化,是因为对象之间的相互依赖降到了最低。
Subject唯一依赖的东西是一个实现Observer接口的对象列表。所以可以随时增加或者删除观察者。
有新的Observer出现时,主题的代码不需要修改。
1 0
- 第二章 观察者模式
- 第二章 观察者模式
- 第二章 观察者模式1
- 第二章 观察者模式2
- HeadFirst设计模式第二章 观察者模式
- 设计模式---第二章观察者模式
- HeadFirst设计模式第二章(观察者模式Observer)
- Head First设计模式第二章——观察者模式
- 观察者模式-《Head First 设计模式》第二章
- [设计模式]head first 设计模式之PHP实现 第二章 观察者模式
- Head First设计模式C++实现--第二章:观察者(Oserver)模式
- 设计模式第二课:观察者模式(Obse…
- 设计模式第二天_观察者模式_java内置实现
- 设计模式C++版:第二十一式观察者模式
- Project第二天 观察者模式处理定位信息
- 观察者模式
- 观察者模式
- 观察者模式
- mac下用mamp和phpstorm搭建php开发环境
- 关于指针的浅析---------指针基础部分2,间接访问和直接访问
- 解释型脚本语言:
- 经典算法(1):梯度下降法(Gradient)
- CSS理论
- 第二章 观察者模式
- 如何配置struts+hibernate,基本使用方法
- 强制要求JVM始终抛出含堆栈的异常(-XX:-OmitStackTraceInFastThrow)
- BS架构与CS架构的区别
- Java反射
- 百度语音识别ASR Sample 命令行编译过程介绍(含java Json)//
- Sublime Text 3 快捷键汇总
- 自定义View:PullToZoomScrollView
- java多线程