软件设计模式ch3 - 装饰者模式.ppt

软件设计模式ch3 - 装饰者模式.ppt

ID:49235203

大小:3.39 MB

页数:47页

时间:2020-02-02

软件设计模式ch3 - 装饰者模式.ppt_第1页
软件设计模式ch3 - 装饰者模式.ppt_第2页
软件设计模式ch3 - 装饰者模式.ppt_第3页
软件设计模式ch3 - 装饰者模式.ppt_第4页
软件设计模式ch3 - 装饰者模式.ppt_第5页
资源描述:

《软件设计模式ch3 - 装饰者模式.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、软件设计方法及设计模式张聚礼副教授/系统分析师装饰者模式3一二三四五六星巴兹咖啡认识装饰者模式装饰者模式装饰饮料真实世界的装饰者:JavaI/O编写自己的JavaI/O装饰者主要内容一、星巴兹咖啡概况饮料类调整(一)(二)(三)效果(四)开放-关闭原则(五)星巴兹是以扩展迅速而闻名的咖啡店,其原始设计如下:(一)概况(二)饮料类很明显,设计了太多的类(二)饮料类从Beverage类开始,添加实例变量(三)调整加入子类(三)调整(三)调整(四)效果(四)效果设计原则五:类应该对扩展开放,对修改关闭。(五)开放-关闭原则(五)开放-关闭原则二、认识装饰者模式思

2、路构造饮料订单(一)(二)以饮料为主体,运行时以调料来“装饰”饮料,例如,顾客想要摩卡和奶泡深焙咖啡:取一个深焙咖啡对象以摩卡对象装饰它以奶泡对象装饰它调用cost()方法,并依赖委托将调料的价钱加上去。(一)思路(二)构造饮料订单(二)构造饮料订单(二)构造饮料订单(二)构造饮料订单三、装饰者模式定义类图缺点(一)(二)(三)(一)定义装饰者模式:动态地将责任加到对象身上。如果要扩展功能,装饰者模式提供了比继承更有弹性的替代方案。(二)类图(三)缺点有时在设计中加入大量的小类,变得不容易理解。有的客户端代码依赖于特定的类型(这是个比较糟糕的习惯,违反了“

3、针对接口编程,而不是针对实现编程”的设计原则),当服务器端引入装饰者模式时,客户端就会出现状况。装饰者模式使得实例化组件的复杂度提升。四、装饰饮料星巴兹饮料实现(一)(二)(一)星巴兹饮料从Beverage类开始(二)实现Beverage类很简单,下面来实现CondimentDecorator调料类(二)实现编写饮料代码(二)实现编写饮料代码(续)(二)实现编写调料代码(二)实现编写测试代码(二)实现RUN(二)实现(二)实现五、真实世界的装饰者:JavaI/O典型实例装饰java.io类(一)(二)(一)典型实例(二)装饰java.io类六、编写自己的J

4、avaI/O装饰者编写自己的JavaI/O装饰者测试新的JavaI/O装饰者(一)(二)(一)编写自己的JavaI/O装饰者(一)编写自己的JavaI/O装饰者(二)测试新的JavaI/O装饰者(二)测试新的JavaI/O装饰者RUN七、总结AbstractionEncapsulationPolymorphismInheritanceEncapsulatewhatvaries.Favorcompositionoverinheritence.Programtointerfaces,notimplementations.Strategy-definesafam

5、ilyofalgorithms,encapsulateseachone,andmakestheminterchangeable.Strategyletsthealgorithmvaryindependentlyfromclientsthatuseit.总结OOBasicsOOPrinciplesOOPatterns1Observer-definesaone-to-manydependencybetweenobjectssothatwhenoneobjectchangesstate,allitsdependentsarenotifiedandupdateda

6、utomatically总结OOPatternsStriveforlooselycoupleddesignsbetweenobjectsthatinteract.OOPrinciples2Decorator-Attachadditionalresponsibilitiestoanobjectdynamically.Decoratorsprovideaflexiblealternativetosubclassingforextendingfunctionality.总结OOPatternsClassesshouldbeopenforextensionbutc

7、losedformodification.OOPrinciples3

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

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

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