观察者模式ppt
五、观察者模式结构
AS3观察者模式 应用和扩展
开发部:刘滔
开发中遇到的问题:
1、主程序和模块之间消息传递 2、模块与模块之间消息传递 3、视图层(View)与数据模型层(Model)之间的消 息数据传递
一、观察者模式简介:
观察者<Observer>模式(有时又被称为发布-订阅 <Publish/Subscribe>模式、模型-视图<Model/View> 模式、源-收听者<Source/Listener>模式或从属者 <Dependents>模式)是软件设计模式的一种。在此 种模式中,一个目标物件管理所有相依于它的观察者 物件,并且在它本身的状态改变时主动发出通知。这 通常透过呼叫各观察者所提供的方法来实现。此种模 式通常被用来实作事件处理系统。
四、观察者模式组成
1、观察者 (Observer)将自己注册到被观察对象 (Subject)中,被观察对象将观察者存放在一个容 器(Container)里。 2、被观察对象 (Observable)被观察对象发生了某种变化,从容 器中得到所有注册过的观察者,将变化通知观察者。 3、撤销观察 观察者告诉被观察者要撤销观察,被观察者从 容器中将观察者去除。
二、发布者与订阅者
用户A (订阅者) 邮局 (发布者) 用户B (阅者) 用户数 据库 用户C (订阅者)
三、观察者模式原理
观察者模式(Observer)完美的将观察者和被 观察的对象分离开。举个例子,用户界面可以作为 一个观察者,业务数据是被观察者,用户界面观察 业务数据的变化,发现数据变化后,就显示在界面 上。面向对象设计的一个原则是:系统中的每个类 将重点放在某一个功能上,而不是其他方面。一个 对象只做一件事情,并且将他做好。观察者模式在 模块之间划定了清晰的界限,提高了应用程序的可 维护性和重用性。