- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 行为型设计模式;目录 【7.1】 模板方法模式(Template method) 7.2 观察者模式(Oberserver) 【实验】 【7.3】 迭代子模式(Iterator) 7.4 责任链模式(Chain of Responsibility)【实验】 7.5 备忘录模式(Memento) 【实验】 7.6 命令模式 (Command) 【实验】 7.7 状态模式(State) 【7.8】 访问者模式(Visitor) 【7.9】 中介者模式(Mediator) 【7.10】 策略模式(Strategy) ;7.1 模板方法(Template Method)模式;7.1.1 模板方法模式的由来;7.1.1 模板方法模式的由来;7.1.1 模板方法模式的由来;;;7.1.1 模板方法模式的由来;7.1.1 模板方法模式的由来;7.1.2 模板方法模式的意图和适用性;7.1.2 模板方法模式的意图和适用性;模板方法模式中的两种方法;摸板方法(Template Method)模式小结;7.1.3 模板方法模式的结构和参与者;7.1.3 模板方法模式的结构和参与者;教材上的应用举例;7.1.4 应用举例;7.1.4 应用举例;7.1.4 应用举例;7.1.4 应用举???;实用例子;7.1.5 效果分析;关于继承的讨论;7.2 观察者模式(Oberserver) 【实验】 ;7.2.1 观察者模式的由来;7.2.1 观察者模式的由来;7.2.1 观察者模式的由来;7.2.2 观察者模式的意图和适用性 模式的意图 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 ;7.2.2 观察者模式的意图和适用性;7.2.3 观察者模式的结构和参与者 观察者模式结构图 ;7.2.3 观察者模式的结构和参与者 Observer Subject(目标) 目标知道它的观察者。可以有任意多个观察者观察同一个目标。 提供注册和删除观察者对象的接口。 Observer(观察者) 为那些在目标发生改变时需获得通知的对象定义一个更新接口。 Concrete Subject(具体目标) 将有关状态存入各Concrete Observer对象。 当它的状态发生改变时, 向它的各个观察者发出通知。 Concrete Observer(具体观察者) 维护一个指向Concrete Subject对象的引用。 存储有关状态,这些状态应与目标的状态保持一致。 实现Observer的更新接口以使自身状态与目标的状态保持一致。;7.2.4 应用举例 例如:班主任老师有电话号码,学生需要知道班 主任老师的电话号码以便于在合适时的时候拨打,在 这样的组合中,老师就是一个被观察者(Subject), 学生就是需要知道信息的观察者,当老师的电话号码 发生改变时,学生得到通知,并更新相应的电话记 录。该应用的类图如下图所示。;应用举例 ;7.2.4 应用举例 相关代码: Subject代码: package observer; public interface Subject{ //目标类的定义 public void attach(Observer o); //注册一个观察者 public void detach(Observer o); //删除一个观察者 public void notice(); //通知所有观察者更新 } Observer代码: package observer; public interface Observer{ //观察者类定义 public void update(); //更新观察者 };7.2.4 应用举例 Teacher代码; package observer; import java.util.Vector; public class Teacher implements Subject{ private String phone; //电话号码 private Vector students; //学生 public Teacher(){ phone = ; students = new Vector(); } public void attach(Observer o){ students.add(o);//注册学生 } ;7.2.4 应用举例 Student代码: package observer; public class Student implements O
您可能关注的文档
最近下载
- 项目一 任务三 认识餐饮设备(课件)《餐饮服务与管理》(高教版第二版)同步课堂.pptx
- 16S122图集—水加热器选用及安装.pdf
- 第12课《短文二篇——记承天寺夜游》课件++2025-2026学年八年级语文统编版上册.pptx VIP
- 《中国心理学会临床咨询心理学工作伦理守则》考试题库及答案解析(共200题).docx VIP
- 《抗病毒药和抗寄生虫药》课件.ppt
- 翼科ES500系列专用伺服驱动器用户手册.pdf
- 高等职业技术学院辅导员工作手册.pdf VIP
- JBT 7361-2007 滚动轴承 零件硬度试验方法.docx VIP
- 小学生必背古诗75首80首!家长收藏必备,附带文档打印版.pdf VIP
- 入党积极分子培养考察表1.doc VIP
文档评论(0)