head first 设计模式总结

head first 设计模式总结

ID:40296730

大小:21.38 KB

页数:5页

时间:2019-07-30

head first 设计模式总结_第1页
head first 设计模式总结_第2页
head first 设计模式总结_第3页
head first 设计模式总结_第4页
head first 设计模式总结_第5页
资源描述:

《head first 设计模式总结》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、HeadfirstdesignpatternChap1策略模式Chap2观察者模式:让对象熟悉现况观察者模式---气象站例子---订阅模式角色:1.主题:气象站2.观察者:温度显示方式,有三种说明:1.在类图中,具体观察者has-a具体主题;主题接口has-a观察者接口2.***理解主题与观察者是如何在构造函数中建立联系的publicCurrentConditionsDisplay(ISubjectweatherData){weatherData.registerObserver(this);}Chap3装饰者模式:装饰对象装饰者模式:饮料及其调料例子角色:1.组件类(或被装饰类);2

2、.装饰者类;1.组件类:如饮料类,Beverage-->实现类有:DarkRoast,Espresso,HouseBlend2.装饰者类:如调料类,CondimentDecorator-->实现类有:Mocha,Soy,Whip说明:1.装饰者抽象类继承组件抽象类2.具体装饰者类has-a组件抽象类的引用变量,以便递归输出饮料及调料的信息,并计算合计的费用。(装饰者类不能单独订购??因为代码上的体现是:必须跟组件关联。)3.客户端代码中的引用变量beverage3,不断指向最新包装的对象。Beveragebeverage3=newHouseBlend();beverage3=newSo

3、y(beverage3);beverage3=newMocha(beverage3);beverage3=newWhip(beverage3);Chap4工厂模式工厂方法模式---比萨店例子角色:1.生产者(creator):比萨店2.产品(product):比萨说明:1.比萨店:获得比萨对象后,提供比萨制作的基本流程。但是,获取什么样的比萨对象留给子类去完成,而且,比萨制作流程的动作由比萨对象本身提供。2.比萨:提供比萨本身基本信息,如:名字,调料等,并且提供基本制作方法。但是,子类也可以重写这些方法,以实现特色的比萨。(OO:谁拥有数据,谁提供操作数据的方法)Chap5单件模式Ch

4、ap6命令模式:封装调用命令模式---遥控器例子角色:1.调用者:遥控器对象,发出请求;2.接收者:如电灯、车库门、风扇等,处理请求;它们由厂商提供,可以随时改变。重点:***命令模式:通过“命令”,将调用者与接收者解耦“命令”:接口提供统一的execute()与undo()方法,具体实现类调用接收者的方法来完成上述两个方法的实现。说明:1.调用者,拥有(has-a)命令接口;2.命令接口实现类,拥有(has-a)接收者,来实现execute()和undo()方法;3.客户端创建调用者、接收者、命令对象,并且,将接收者注册到具体命令对象,再将上述命令对象注册到调用者上。Chap7适配器

5、与外观模式外观模式(门面模式)---家庭影院例子角色:1.Facade:家庭影院2.subSystem:涉及的各种设备原则:最少知识原则家庭影院拥有各种设备的引用变量,对外提供watchMovie(),endMovie()两个方法,在其内部将功能实现委托到各种设备的方法完成。Chap8模板方法模式:封装算法Chap9迭代器与组合模式:管理良好的集合Chap10状态模式:事物的状态Chap11代理模式:控制对象访问Chap12复合模式:模式中的模式Chap13与设计模式相处:模式总结1、模式的定义:在某种情境下,针对某种问题,提出的解决方案。2、模式包含的三个部分:1.问题:包含了一个目

6、标及实现目标的一组约束。2.情境:应用模式的某种情况,这个情况经常的出现。3.解决方案:在上述情境下,克服问题中的约束,实现问题中的目标的一个通用设计。3、模板(每个模式都要遵照一个模板):意图(intent),动机(motivation),适用性(applicability)每个模式的'动机'、'适用性'及'结果'4、学习的角度:意图(intent):描述该模式的作用,或者说是模式的定义。动机(motivation):给出了问题及解决问题的场景。适用性(applicability):模式可以被应用的场合。结构(structure)---类图:用图示方式显示出参与模式的类之间的关系。参

7、与者(participant):模式设计中的类和对象在模式中的角色和责任。协作(collaboration):告诉我们参与者如何在模式中合作。结果(consequence):使用此模式所产生的效果。5、模式与描述:===创建型:涉及到将对象实例化,将客户从对象实例化中解耦===工厂方法:由子类决定要创建的对象是哪一个。抽象工厂:允许客户创建对象的家族,而无需指定他们的具体类。单件:确保有且只有一个对象被创建。===行为型:涉及到类和对象如何交互

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。