Whip对象装饰它调用cost.PPTVIP

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Whip对象装饰它调用cost

一种最直接的实现! public class WeatherData { //实例变量声明 public void measurementsChanged() { float temp =getTemperature(); float humidity =getHumidity(); float pressure =getPressure(); currentConditionsDisplay.update(temp ,humidity,pressure); statistiosDisplay.update(temp, humidity,pressure); forecastDisplay.update(temp, humidity, pressure); } //这里是其他WeatherData方法 } 调用WeatherData的三个getXxx()方法,以取得最近的测量值。这些getXxx()方法已经实现好了。 现在,更新布告板…… 调用每个布告板更新显示,传入必威体育精装版的测量。 问题又来了,仔细看,用心想! public void measurementsChanged() { float temp =getTemperature(); float humidity =getHumidity(); float pressure =getPressure(); currentConditionsDisplay.update (temp ,humidity,pressure); statistiosDisplay.update(temp, humidity,pressure); forecastDisplay.update(temp, humidity, pressure); } 改变的地方,需要封装起来 针对具体实现编程,会导致我们以后在增加或删除布告板时必须修改程序。 至少,这里看起来像是一个统一的接口,布告板的方法名称都是update(),参数都是温度、湿度、气压。 主角登场By an instance ?报社的业务就是出版报纸。 ?向某家报社订阅报纸,只要他们有新报纸出版,就会给你送来。只要你是他们的订户,你就会一直收到新报纸。 ?当你不想再看报纸的时候,取消订阅,他们就不会再送新报纸来。 ?只要报社还在运营,就会一直有人(或单位)向他们订阅报纸或取消订阅报纸。 观察者模式的活动(1) 狗对象 猫地象 老鼠对象 许多观察者 主题对象 鸭子对象 要注册(订阅) 鸭子对象过来告诉主题,它想当一个观察者。 鸭子其实想说的是:我对你的数据改变感兴趣,一有变化请通知我 主题对象 狗对象 鸭子对象 老鼠对象 猫对象 许多观察者 鸭子对象现在已经是正式的观察者了。 鸭子静候通知,等待参与这项伟大的事情。一旦接获通知,就会得到一个整数。 观察者模式的活动(2) 狗对象 鸭子对象 老鼠对象 猫对象 许多观察者 许多观察者 狗对象 鸭子对象 老鼠对象 猫对象 主题对象 主题对象 我要删除自己(取消订阅) 主题有了新的数据值! 现在鸭子和其他所有观察者都会收到通知:主题已经改变了。 老鼠对象要求从观察者中把自己除名。 老鼠已经观察此主题太久,厌倦了,所以决定不再当个观察者。 8 8 8 8 8 观察者模式的活动(3) 狗对象 猫地象 鸭子对象 狗对象 猫地象 鸭子对象 许多观察者 许多观察者 老鼠对象 主题对象 主题对象 老鼠对象 老鼠离开了! 主题知道老鼠的请求之后,把它从观察者中除名。 主题 一个新的整数 除了老鼠之外,每个观察者都会收到通知,因为它已经被除名了。嘘!不要告诉别人,老鼠其实暗暗地怀念这些整数,或许哪天又会再次注册,回来继续当观察者呢! 14 14 14 14 定义观察者模式 Subject Attach(Observer) Detach(Observer) Notify() Observer Update() ConcreteSubject GetState() SetState() subjectState ConcreteObserver Update() observerState for all 0 in observers 0→Update() Return subjectState observerSt

文档评论(0)

2105194781 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档