欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    (1.7)--第5.2章-观察者模式软件设计与体系结构.ppt

    • 资源ID:96654871       资源大小:3.64MB        全文页数:30页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    (1.7)--第5.2章-观察者模式软件设计与体系结构.ppt

    第5.2章 观察者模式1气象观测站软件在气象站中有各种物理感应装置采集各种天气状况数据,我们的目标是使用这些气象数据搭建各种气象布告板应用。第5.2章 观察者模式2WeatherData类1.中间件类需要持有三个测量值:温度、湿度、气压,并且具有getter方法,可以取得三个测量值。2.设计三个使用天气数据的上层应用:当前值显示、气象统计、温度预测。3.一旦中间件类有新的测量值,这些应用必须马上更新。此系统必须可扩展,让其他开发人员建立定制的布告板,用户可以随心所欲地添加或删除任何布告板。第5.2章 观察者模式3WeatherData类第5.2章 观察者模式4实现方式1第5.2章 观察者模式5问题第5.2章 观察者模式6实现方式1的问题第5.2章 观察者模式7观察者模式报纸订阅报社的业务出版报纸。向某家报社订阅报纸,只要他们有新报纸出版,就会给你送来。只要你是他们的用户,你就会一直收到新报纸。当你不想再看报纸时,取消订阅,他们就不会再送新报纸来。只要报社还运营,就会一直有人向他们订阅报纸或取消订阅报纸。第5.2章 观察者模式8观察者模式=出版者+订阅者出版者:主题(Subject)订阅者:观察者(Observer)(Observer)第5.2章 观察者模式9第5.2章 观察者模式10第5.2章 观察者模式11观察者模式实现第5.2章 观察者模式12实现气象观测站软件第5.2章 观察者模式13第5.2章 观察者模式14第7章 设计模式157.2 观察者模式第5.2章 观察者模式16测试气象观测站软件第5.2章 观察者模式17测试气象观测站软件第7章 设计模式187.2 观察者模式第5.2章 观察者模式19观察者模式定义定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新发布-订阅(Publish/Subscribe)模式第5.2章 观察者模式20观察者模式提供了一种对象设计,让主题和观察者之间松耦合主题只知道观察者实现了某个接口,不需要知道观察者具体是谁、做了什么任何时候均可以增加观察者,因为主题唯一依赖的东西是一个实现观察者接口的对象列表有新类型的观察者出现时,主题的代码不需要修改;主题只做一件事:发送通知给所有实现了观察者接口的对象改变主题或观察者其中一方,并不会影响另一方设计原则为了交互对象之间的松耦合设计而努力第5.2章 观察者模式21扩展:推模式 or 拉模式推模式主题对象向观察者推送主题的详细信息,不管观察者是否需要,推送的信息通常是主题对象的全部或部分数据。拉模式观察者主动到主题对象中获取数据。把主题对象自身通过update()方法传递给观察者,观察者需要获取数据的时候,通过这个引用来获取。第5.2章 观察者模式拉模式22第5.2章 观察者模式拉模式23第5.2章 观察者模式拉模式24第5.2章 观察者模式拉模式25第5.2章 观察者模式拉模式26第5.2章 观察者模式推模式 v.s.拉模式推模型是假定主题对象知道观察者需要的数据;而拉模型是主题对象不知道观察者具体需要什么数据,没有办法的情况下,干脆把自身传递给观察者,让观察者自己去按需要取值。推模型可能会使得观察者对象难以复用,因为观察者的update()方法是按需要定义的参数,可能无法兼顾没有考虑到的使用情况。这就意味着出现新情况的时候,就可能提供新的update()方法,或者是干脆重新实现观察者;而拉模型就不会造成这样的情况,因为拉模型下,update()方法的参数是主题对象本身,这基本上是主题对象能传递的最大数据集合了,基本上可以适应各种情况的需要。27第5.2章 观察者模式28扩展:JAVA提供的对观察者模式的支持java.utilObservable类Observer接口第5.2章 观察者模式29问题在目前的气象观测站软件中加入一种新的公告板酷热指数公告板酷热指数是一个结合温度和湿度的指数,用来显示人的温度感受。可以利用温度T和相对湿度RH使用如下公式计算酷热指数:如何实现酷热指数公告板(推/拉)?第5.2章 观察者模式30总结观察者模式定义了对象之间一对多的关系主题(被观察者)用一个共同的接口来更新观察者观察者与主题之间用松耦合方式结合,主题不直到观察者的细节,只知道观察者实现了观察者接口使用观察者模式时,你可以从主题处推或拉数据有多个观察者时,不可以依据特定的通知次序

    注意事项

    本文((1.7)--第5.2章-观察者模式软件设计与体系结构.ppt)为本站会员(刘静)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开