Observable提供必要的信息.
Observer(Listener)则对Observer所提供的数据做自己感兴趣的处理 .
比如TimeSource提供时间这一数据,TimeSink可以获所得TimeSource提供的时间数据,有人可能要实现数字时钟,另外有人可能想使用所提供的时间实现一个提醒服务。还有人可能想启动每晚备份功能。简而言之,希望一个单一的TimeSource对象能够为多个TimeSink对象提供时间.
Observable与Observer关系,如果1 : 1则可以做成依赖关系, 如果1 : n 则在Observable 内保存一个Observer的集合。
当然也可以利用第三个类来建立这二者的关系.Tomcat的Session与SessionListener就是利用第三个类建立二者的关系.
Observer的推模型和拉模型 。
推模型是通过把数据传给 notify和update方法从而把数据从目标(subject)推给观察者(observer).
拉模型没有给notify和update方法传递任何数据,数据是在观察者对象收到更新消息后,查询被观察者对象得到的.
在数据量比较大时推模型更合适。
数据量比较小时拉模型比较合适.
分享到:
相关推荐
采用Java语言编写的一个观察者模式实例。观察者模式(有时又被称为模型-视图(View)模式、源-收听者(Listener)模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,...
Java 观察者模式的浅析 简单地说,观察者模式定义了一个一对多的依赖关系,让一个或多个观察者对象监察一个主题对象。这样一个主题对象在状态上的变化能够通知所有的依赖于此对象的那些观察者对象,使这些观察者...
java观察者模式观察者模式java观察者模式观察者模式java观察者模式观察者模式
观察者
Qt设计模式之观察者模式
观察者模式(有时又被称为发布(publish )-订阅(Subscribe)模式、模型-视图(View)模式、源-收听者(Listener)模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件...
观察者模式:对象之间多对一依赖的一种设计方案,被依赖的对象为Subject,依赖的对象为Observer,Subject通知Observer变化,这个例子自定义了一个观察者模式
观察者模式:对象之间多对一依赖的一种设计方案,被依赖的对象为Subject,依赖的对象为Observer,Subject通知Observer变化,这个例子是java内置观察者模式
观察者模式及实例,适合初学者阅读 。。。。。。。。。。。。。。。
l 观察者对象:抽象出观察者对象,负责管理需要被通知的订阅对象并通知它们。 当主题对象发生改变时如何通知观察者对象 l 主题对象内部包含观察者对象,发生改变时主动去通知观察者对象 l 启动一个线程轮询查看...
js观察者模式列子js观察者模式列子js观察者模式列子js观察者模式列子js观察者模式列子js观察者模式列子js观察者模式列子
观察者体系结构开发的微博程序,使用JAVA语言,软件体系结构课程的实验
观察者模式 概述 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 适用性 1.当一个抽象模型有两个方面,其中一个方面依赖于另一方面。 将这二者封装...
用到了纯粹的被观察者 和 一个 既是观察者又是被观察者 和 纯粹的观察者之间的故事
Android项目实战--手机卫士26--内容提供者与内容观察者
观察者模式设计,观察者模式设计观察者模式设计观察者模式设计,
观察者模式demo 观察者模式demo 观察者模式demo 观察者模式demo
java 设计模式 观察者模式 简单实例 包括测试test类
请根据观察者模式,用Java语言设计并实现气象站程序。其中,部分代码已经写好,包括: • 观察者接口 • 主题接口 • 显示板接口 • 测试程序 请在此框架下,继续完成CurrentConditionsDisplay、ForecastDisplay...
Android 内容提供者、解释者和观察者小例子 两个个程序源码