




已阅读5页,还剩53页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件设计方法及设计模式 张聚礼副教授 系统分析师 观察者模式 2 一 二 三 四 五 六 气象观测站 认识观察者模式 观察者模式 气象站 使用Java内建的观察者模式 java util Observable的黑暗面 主要内容 一 气象观测站 概况 WeatherData类 方法 一 二 三 问题 四 系统由三部分组成 一 概况 二 WeatherData类 二 WeatherData类 现在 重点是实现measurementsChanged 方法 以便更好地显示结果 二 WeatherData类 还知道什么呢 方法显示扩展 getTemperature getHumidity getPressure measurementsChanged 这是一种可能的设计 三 方法 三 方法 回想前面的概念和原则 四 问题 四 问题 是否可用观察者模式呢 二 认识观察者模式 现实实例 出版者 订阅者 观察者模式 观察主题 一 二 三 报纸和杂志的订阅 报社出版报纸向报社订阅报纸不想订阅时 取消订阅只要报社在运营 就可以订阅或取消订阅报纸 一 现实实例 出版者改为 主题 订阅者改为 观察者 二 出版者 订阅者 观察者模式 二 出版者 订阅者 观察者模式 二 出版者 订阅者 观察者模式 二 出版者 订阅者 观察者模式 二 出版者 订阅者 观察者模式 二 出版者 订阅者 观察者模式 二 出版者 订阅者 观察者模式 三 观察主题 三 观察主题 三 观察主题 三 观察主题 三 观察主题 Twoweekslater 三 观察者模式 定义 类图 松耦合 一 二 三 一 定义 观察者模式定义了对象间的一对多依赖 当一个对象改变状态时 它的所有依赖者都会收到通知并自动更新 一 定义 主题和观察者定义了一对多关系 二 类图 当对象间是松耦合时 仍然可以交互 但是不清楚彼此的细节观察者模式提供了主题和观察者之间的松耦合设计 三 松耦合 设计原则四 为交互对象之间的松耦合设计而努力 三 松耦合 三 松耦合 四 气象站 设计气象站 实现气象站 一 二 一 设计气象站 接口 二 实现气象站 二 实现气象站 主题 显示部分 二 实现气象站 气象站测试 二 实现气象站 运行 二 实现气象站 五 使用Java内建的观察者模式 概述 如何运作 重做气象站 一 二 三 一 概述 一 概述 把对象变成观察者实现观察者接口java util Observer可观察者发送通知实现接口java util Observable调用setChanged 方法调用notifyObservers 方法观察者接收通知实现update 方法 二 如何运作 二 如何运作 二 如何运作 三 重做气象站 三 重做气象站 三 重做气象站 RUN 六 java util Observable的黑暗面 Observable是类 Observable将关键的方法保护起来 一 二 JDK中的其他观察者模式 三 Observable是类 不是接口 这限制了复用 一 Observable是类 二 Observable将关键的方法保护起来 你会发现setChanged 被保护了起来 这就要求你使用继承才能改变它 违背了 多用组合 少用继承 原则 三 JDK中的其他观察者模式 SwingAPIJButton 三 JDK中的其他观察者模式 七 总结 AbstractionEncapsulationPolymorphismInheritance Encapsulatewhatvaries Favorcompositionoverinheritence Programtointerfaces notimplementations Strategy definesafamilyofalgorithms encapsulateseachone andmakestheminterchangeable Strategyletsthealgorithmvaryindependentlyfromclientsthatuseit 总结 OOBasics OOPrinciples OOPatterns 1 Observer definesaone to manydependencybetweenobjectssothatwhenoneobjectchangesstate allitsdependentsarenotifiedandupdatedau
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大学消防活动方案
- 大学美发店活动方案
- 大班小学活动方案
- 基层春耕活动方案
- 大班防暴活动方案
- 夏季庭院活动策划方案
- 培训学校走廊活动方案
- 夜场户外比赛活动方案
- 夏日药店活动方案
- 大学食堂抽奖活动方案
- 2009-2022历年河北省公安厅高速交警总队招聘考试真题含答案2022-2023上岸必备带详解版4
- 六年级信息技术下册《走进人工智能》优质课获奖课件
- 工程开工报告表
- 劳动法课件(完整版)
- 营运车辆智能视频监控系统管理制度范本及动态监控管理制度
- 完整版:美制螺纹尺寸对照表(牙数、牙高、螺距、小径、中径外径、钻孔)
- 偏头痛PPT课件(PPT 43页)
- (完整版)入河排污口设置论证基本要求
- 10kV架空线路施工方案
- 2022年人教版小学数学一年级下册期中测试卷二(含答案)
- 关于恒温恒湿项目装修方案及装修细部做法
评论
0/150
提交评论