设计模式--观察者模式(Observer)
来源:互联网 发布:勒布朗詹姆斯数据统计 编辑:程序博客网 时间:2024/06/04 18:36
观察者模式
概述
定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。
适用性
1.当一个抽象模型有两个方面,其中一个方面依赖于另一方面。 将这二者封装在独立的对象中以使它们可以各自独立地改变和复用。 2.当对一个对象的改变需要同时改变其它对象,而不知道具体有多少对象有待改变。 3.当一个对象必须通知其它对象,而它又不能假定其它对象是谁。
参与者
1.Subject(目标) 目标知道它的观察者。可以有任意多个观察者观察同一个目标。 提供注册和删除观察者对象的接口。 2.Observer(观察者) 为那些在目标发生改变时需获得通知的对象定义一个更新接口。 3.ConcreteSubject(具体目标) 将有关状态存入各ConcreteObserver对象。 当它的状态发生改变时,向它的各个观察者发出通知。 4.ConcreteObserver(具体观察者) 维护一个指向ConcreteSubject对象的引用。 存储有关状态,这些状态应与目标的状态保持一致。 实现Observer的更新接口以使自身状态与目标的状态保持一致
Example
- 观察者设计模式Observer
- 观察者设计模式(observer)
- observer(观察者设计模式)
- Observer(观察者)设计模式
- [设计模式]观察者模式, Observer
- 设计模式--观察者模式(Observer)
- 设计模式-观察者模式(observer)
- [设计模式]Observer观察者模式
- [设计模式]观察者模式(Observer)
- 设计模式-Observer(观察者模式)
- 设计模式--observer观察者模式
- 设计模式 -- Observer 观察者模式
- 设计模式--观察者模式Observer
- 设计模式:观察者(observer)模式
- 设计模式-观察者模式Observer
- 设计模式:观察者模式-observer
- 设计模式 - Observer观察者模式
- 设计模式之Observer(观察者)
- 北航课程 软件测试工具与实践19: Parasoft C++ Test(Optional)
- 解决wine-1.0.1中文乱码的问题
- Js跨域名读取xml资料
- 自定义控件编程
- 设计模式--观察者模式(Observer)
- VB.NET检查IP地址是否合法函数
- 基于S3C2410的SD卡linux驱动工作原理
- 抽象的力量(一)
- 软件开发模型
- JSP连接数据库大全
- blank.php 和 bottom.php
- Asterisk安装
- 在线播放器大全