设计模式1——观察者模式

定义:观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。


类图:

观察者模式

附:visio原图


特点:

1、观察者定义了对象之间一对多的关系;

2、主题(即被观察者)用一个共同的接口来更新观察者;

3、观察者和被观察者之间用松耦合方式结合,被观察者不知道观察者的细节,只知道观察者实现了观察者接口;

4、使用此方式是,可以从被观察者处推(push)或拉(pull)数据;

5、有多个观察者时,不可以依赖特定的通知次序。


适用之处:

各种需求引起的,对数据源(事件源)的监听,譬如button的onclick事件监听/触发、page的onload事件监听/触发等等;

在多个事件/数据/场景依赖某一事件/数据/场景变更,而触发自身的变更,也可以使用观察者模式。

posted on 2010-12-16 22:47  铜铁的两三事  阅读(174)  评论(0)    收藏  举报