




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Head first design patternChap1 策略模式Chap2 观察者模式:让对象熟悉现况观察者模式 - 气象站例子 - 订阅模式角色:1.主题:气象站 2.观察者:温度显示方式,有三种说明:1.在类图中,具体观察者has-a具体主题;主题接口has-a观察者接口2.* 理解主题与观察者是如何在构造函数中建立联系的public CurrentConditionsDisplay(ISubject weatherData)weatherData.registerObserver(this);Chap3 装饰者模式:装饰对象装饰者模式:饮料及其调料例子角色:1.组件类(或被装饰类);2.装饰者类;1.组件类:如饮料类,Beverage - 实现类有:DarkRoast,Espresso,HouseBlend2.装饰者类:如调料类,CondimentDecorator - 实现类有:Mocha,Soy,Whip说明:1.装饰者抽象类 继承 组件抽象类2.具体装饰者类 has-a 组件抽象类的引用变量,以便递归输出饮料及调料的信息,并计算合计的费用。 (装饰者类不能单独订购?因为代码上的体现是:必须跟组件关联。)3.客户端代码中的引用变量beverage3,不断指向最新包装的对象。Beverage beverage3 = new HouseBlend();beverage3 = new Soy(beverage3);beverage3 = new Mocha(beverage3);beverage3 = new Whip(beverage3);Chap4 工厂模式工厂方法模式 - 比萨店例子角色:1.生产者(creator):比萨店2.产品(product):比萨说明:1.比萨店:获得比萨对象后,提供比萨制作的基本流程。 但是,获取什么样的比萨对象留给子类去完成,而且,比萨制作流程的动作由比萨对象本身提供。2.比萨:提供比萨本身基本信息,如:名字,调料等,并且提供基本制作方法。但是,子类也可以重写这些方法,以实现特色的比萨。(OO:谁拥有数据,谁提供操作数据的方法)Chap5 单件模式Chap6 命令模式:封装调用命令模式 - 遥控器例子角色:1.调用者:遥控器对象,发出请求;2.接收者:如电灯、车库门、风扇等,处理请求;它们由厂商提供,可以随时改变。重点:*命令模式:通过“命令”,将调用者与接收者解耦“命令”:接口提供统一的execute()与undo()方法,具体实现类调用接收者的方法来完成上述两个方法的实现。说明:1.调用者,拥有(has-a)命令接口;2.命令接口实现类,拥有(has-a)接收者,来实现execute()和undo()方法;3.客户端创建调用者、接收者、命令对象,并且,将接收者注册到具体命令对象,再将上述命令对象注册到调用者上。Chap7 适配器与外观模式外观模式(门面模式) - 家庭影院例子角色:1.Facade:家庭影院2.subSystem:涉及的各种设备原则:最少知识原则家庭影院拥有各种设备的引用变量,对外提供watchMovie(),endMovie()两个方法,在其内部将功能实现委托到各种设备的方法完成。Chap8 模板方法模式:封装算法Chap9 迭代器与组合模式:管理良好的集合Chap10 状态模式:事物的状态Chap11 代理模式:控制对象访问Chap12 复合模式:模式中的模式Chap13 与设计模式相处:模式总结1、模式的定义:在某种情境下,针对某种问题,提出的解决方案。2、模式包含的三个部分:1.问题:包含了一个目标及实现目标的一组约束。2.情境:应用模式的某种情况,这个情况经常的出现。3.解决方案:在上述情境下,克服问题中的约束,实现问题中的目标的一个通用设计。3、模板(每个模式都要遵照一个模板):意图(intent),动机(motivation),适用性(applicability)每个模式的动机、适用性及结果4、学习的角度:意图(intent):描述该模式的作用,或者说是模式的定义。动机(motivation):给出了问题及解决问题的场景。适用性(applicability):模式可以被应用的场合。结构(structure)- 类图:用图示方式显示出参与模式的类之间的关系。参与者(participant):模式设计中的类和对象在模式中的角色和责任。协作(collaboration):告诉我们参与者如何在模式中合作。结果(consequence):使用此模式所产生的效果。5、模式与描述:=创建型: 涉及到将对象实例化,将客户从对象实例化中解耦=工厂方法:由子类决定要创建的对象是哪一个。抽象工厂:允许客户创建对象的家族,而无需指定他们的具体类。单 件:确保有且只有一个对象被创建。=行为型:涉及到类和对象如何交互和分配职责, 重点在对象之间的沟通和互连=模板方法:由子类决定如何实现一个算法中的步骤。迭 代 器:在对象的集合之中游走,而不暴露集合的实现。命 令:封装请求成为对象。状 态:封装了基于状态的行为,并使用委托在行为之间切换。观 察 者:让对象能够在状态改变时被通知。策 略:封装可以互换的行为,并用委托决定使用哪一个。=结构型:组合对象以获取新的功能=装 饰 者:包装一个对象,以提供新的行为。代 理:包装对象,以控制对此对象的访问。适 配 器:封装对象,并提供不同的接口。外 观:简化一群类的接口。组 合:客户用一致的方式处理对象集合和单个对象。6、“模式类目”:1.定义:即模式的分类2.作用:帮助在更抽象的层次上思考这些模式类目1:根据模式的目标或意图分类创建型:涉及到将对象实例化,这类模式都提供一个方法,将客户从对象实例化中解耦。FactoryMethod, AbstractFactory, Singleton, Prototype, Builder行为型:涉及到类和对象如何交互和分配职责。(重点在于对象之间的沟通和互连)TemplateMethod, Iterator, Command, State, Observer, Stratery,Mediator, Visitor, Interpreter, memento, Chain of Responsibility结构型:把类或对象组合到更大的结构中(建立新的结构或新的功能)。(重点在于如何动态地组合对象以获取功能)Facade, Proxy, Adapter, Decorator, Composite, Flyweight, Bridge 类目2:根据模式所处理的是类或对象来分类类模式:描述类之间的关系如何通过继承定义。类模式的关系是在编译时建立的。TemplateMethod, FactoryMethod, Adapter,对象模式:描述对象之间的关系,并且主要是利用组合定义的。对象模式的关系在运行时建立,而且更加动态、更有弹性。AbstractFactory, Singleton, Iterator, Command, State, Observer, Stratery, Facade, Proxy, Decorator, Composite,7、模式动物园:架构模式:模式开始的地方。应用模式:是建立系统架构的模式,许多多层架构都属于这一类目,如MVC。领域特定模式:关注特定领域的问题,如并发系统或实时系统。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国脱毒红薯木薯种植项目创业计划书
- 中国计算机咨询项目创业计划书
- 中国境外通信设备项目创业计划书
- 中国动脉压迫止血器项目创业计划书
- 中国电子商务采购项目创业计划书
- 中国端游项目创业计划书
- 毕业生个人简历表
- 毕业审计实习报告八篇
- 乐清保安考试题纲及答案
- 鸡肉品质提升-洞察阐释
- 图文高中英语语法if条件句If - Clauses
- 四川省安全员《A证》考试题库及答案
- 职业生涯规划书成长赛道
- 林木育种的种质与材质性状评价
- 大模型在航空航天领域的应用:智能探索宇宙的无限可能
- 《直流电源》课件
- 内燃机车柴油机 课件 2-1-1 16V280型柴油机 固定件认知
- FMECA方法及工程应用案例
- 国开02316-中级财务会计(一)机考复习资料
- 2023年专业英语四级真题试卷及答案(二)
- 数据链系统与技术(第2版) 课件 第3、4章 Link-4、Link-11和Link-22数据链;Link-16数据链
评论
0/150
提交评论