面向对象范式-2010装饰模式

面向对象范式-2010装饰模式

ID:5411332

大小:5.53 MB

页数:57页

时间:2017-11-11

面向对象范式-2010装饰模式_第1页
面向对象范式-2010装饰模式_第2页
面向对象范式-2010装饰模式_第3页
面向对象范式-2010装饰模式_第4页
面向对象范式-2010装饰模式_第5页
资源描述:

《面向对象范式-2010装饰模式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、如何动态的给一个对象的某个职责添加一些额外的职责设计模式—装饰模式场景1:对挂在墙上的一幅画进行装饰,要求能够使用多种风格的画框和蒙板进行装饰后挂在墙上展览。我们设计一个电脑程序,要求能够动态变换不同的画框和蒙板来装饰这幅画并展览。--------------------------------------------------------------------场景2:披着羊皮(当然如果吃兔子呢?)的狼吃羊的故事,用对象设计该情景,。-----------------------------------------------------------------

2、---场景3:设计一个通用订单打印程序,需要对订单的内容以及组合不同的订单头部说明和订单尾部说明进行打印,以适应不同公司订单打印的需要。我们需要用对象设计该情景。分析阶段1、做什么(场景),需要解决的问题场景4:星巴兹咖啡厅,构造饮料订单,计算加入不同调料的总价和打印订单的内容。分析阶段1、做什么(场景),需要解决的问题分析阶段1、做什么(场景),需要解决的问题场景4:星巴兹咖啡厅,对每位顾客所订咖啡,构造饮料订单,计算加入不同调料的总价和打印订单的内容。第一种设计扩展类爆炸进化演变第二种设计有什么问题呢?有哪些可变导致修改?第二种设计有什么问题呢?仅仅针对饮料订单

3、,是否还有你想的第三种设计?OO设计原则认识装饰模式实际上我们需要的饮料的Cost方法需要动态的添加新的职责,即能将各类配料的Cost方法动态的加入到饮料的cost方法中,认识装饰模式实际上我们需要的饮料的Cost方法需要动态的添加新的职责,即能将各类配料的Cost方法动态的加入到饮料的cost方法中,具体过程如下:认识装饰模式实际上我们需要的饮料的Cost方法需要动态的添加新的职责,即能将各类配料的Cost方法动态的加入到饮料的cost方法中,具体过程如下:实际上我们需要的饮料的Cost方法需要动态的添加新的职责,即能将各类配料的Cost方法动态的加入到饮料的co

4、st方法中,具体过程如下:装饰模式的设计关于装饰模式类图分析阶段(场景1)1、做什么(场景),需要解决的问题展览分析阶段(场景2)1、做什么(场景),需要解决的问题分析阶段(场景3)1、做什么(场景),需要解决的问题针对一幅画,能够动态变换不同的画框和蒙板来装饰,这些职责由谁来完成呢,分析阶段(场景1)2、谁来做(概念角色模型)我需要装饰成不同风格的!!!针对一幅画,能够动态变换不同的画框和蒙板来装饰,这些职责由谁来完成呢—抽象主谓句--装饰者装饰本体为一个新本体,新本体执行职责,具体主谓句--由画框、蒙板装饰一幅画成为一幅新画,新画展览,注意新画也是画哦!设计阶段

5、:3、谁做什么(类职责/契约)--规格视角设计阶段:4、谁做什么时和谁协作(类协作/组合)--规格视角抽象主谓句--装饰者装饰本体为一个新本体,新本体执行职责,具体主谓句--由画框、蒙板装饰一幅画成为一幅新画,新画展览--注意新画也是画哦!设计阶段:5、“谁”可以安排哪些具体的对象执行(类泛化),可视化静态表达抽象主谓句--装饰者装饰本体为一个新本体,新本体执行职责,具体主谓句--由画框、蒙板装饰一幅画成为一幅新画,新画展览--注意新画也是画哦!设计阶段:5、“谁”可以安排哪些具体的对象执行(类泛化),可视化静态表达设计阶段:5、“谁”可以安排哪些具体的对象执行(类

6、泛化),可视化静态表达表达:7、可视化方式表达动态结构(对象时序图表达)请看下页简单说法:1、做什么(场景)2、谁来做(概念角色模型)3、谁做什么(类职责/契约)4、谁做什么时和谁协作(类协作/组合)5、“谁”可以安排哪些具体的对象执行(类泛化)6、可视化方式表达静态结构(类图表达)8、写出代码(类实现)7、可视化方式表达动态结构(对象时序图表达)分析设计表达实现表达:8、写出代码(类实现)如何扩展:9、讨论效果,A、还有其他可用类增加啦—画框有玻璃钢、铝合金、黄金等,蒙板有。。。,可以自由组合顺序,直接扩展装饰者子类,客户端只要按所要的装饰者和装饰顺序实例化,比如

7、你可以使用多个画框和多次蒙板,并且不同顺序,然后调用其方法即可。B、修改,各类画框和蒙板改了—如何办?避免副作用如何扩展:披着羊皮的狼吃羊,原来是赤裸裸的吃,现在装饰一下,然后。。。我们依样画葫芦,按照上面的8大步骤进行分析和设计分析阶段(场景2)1、做什么(场景),需要解决的问题场景2:披着羊皮的狼吃羊,披着人皮的狼吃人,披着兔皮的狼。。。。这些职责由谁来完成呢?抽象概念陈述—羊皮装饰狼吃羊分析阶段:2、谁来做(概念角色模型)披着羊皮的狼吃羊,披着人皮的狼吃人,披着兔皮的狼。。。。这些职责由谁来完成呢?抽象概念陈述—装饰者装饰狼吃东西设计阶段:3、谁做什么(类

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

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

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