第13章-装饰模式ppt课件.ppt
《第13章-装饰模式ppt课件.ppt》由会员分享,可在线阅读,更多相关《第13章-装饰模式ppt课件.ppt(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统第第1313章章装饰模式装饰模式篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统本章教学内容w装饰模式 模式动机与定义模式动机与定义 模式结构与分析模式结构与分析 模式实例与解析模式实例与解析 模式效果与应用模式效果与应用 模式扩展模式扩展篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统装饰模式w模式动机篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,
2、篮球比赛的计时计分系统是一种得分类型的系统装饰模式w模式动机 一般有两种方式可以实现给一个类或对象增加行为:一般有两种方式可以实现给一个类或对象增加行为:继承机制,使用继承机制是给现有类添加功能的一种有效途径,通过继承一个现有类可以使得子类在拥有自身方法的同时还拥有父类的方法。但是这种方法是静态的,用户不能控制增加行为的方式和时机。关联机制,即将一个类的对象嵌入另一个对象中,由另一个对象来决定是否调用嵌入对象的行为以便扩展自己的行为,我们称这个嵌入的对象为装饰器(Decorator)。篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统装
3、饰模式w模式动机装装饰饰模模式式以以对对客客户户透透明明的的方方式式动动态态地地给给一一个个对对象象附附加加上上更更多多的的责责任任,换换言言之之,客客户户端端并并不不会会觉觉得得对对象象在在装装饰饰前前和和装装饰饰后后有有什什么么不不同同。装装饰饰模模式式可可以以在在不不需需要要创创造造更更多多子子类类的的情情况况下下,将将对对象象的的功功能能加加以以扩扩展展。这这就就是是装装饰饰模模式的模式动机。式的模式动机。篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统装饰模式w模式定义装饰模式装饰模式(Decorator Pattern):
4、动态地给一个对象增动态地给一个对象增加一些额外的职责加一些额外的职责(Responsibility),就增加对象功能,就增加对象功能来说,装饰模式比生成子类实现更为灵活。其别名也可来说,装饰模式比生成子类实现更为灵活。其别名也可以称为以称为包装器包装器(Wrapper),与适配器模式的别名相同,与适配器模式的别名相同,但它们适用于不同的场合。根据翻译的不同,装饰模式但它们适用于不同的场合。根据翻译的不同,装饰模式也有人称之为也有人称之为“油漆工模式油漆工模式”,它是一种,它是一种对象结构型模对象结构型模式式。篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系
5、统是一种得分类型的系统装饰模式w模式定义Decorator Pattern:Attach additional responsibilities to an object dynamically.Decorators provide a flexible alternative to subclassing for extending functionality.Frequency of use:medium篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统装饰模式w模式结构篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因
6、此,篮球比赛的计时计分系统是一种得分类型的系统装饰模式w模式结构装饰模式包含如下角色:装饰模式包含如下角色:Component:抽象构件ConcreteComponent:具体构件Decorator:抽象装饰类ConcreteDecorator:具体装饰类篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统装饰模式w模式分析与与继继承承关关系系相相比比,关关联联关关系系的的主主要要优优势势在在于于不不会会破破坏坏类类的的封封装装性性,而而且且继继承承是是一一种种耦耦合合度度较较大大的的静静态态关关系系,无无法法在在程程序序运运行行时时动动
7、态态扩扩展展。在在软软件件开开发发阶阶段段,关关联联关关系系虽虽然然不不会会比比继继承承关关系系减减少少编编码码量量,但但是是到到了了软软件件维维护护阶阶段段,由由于于关关联联关关系系使使系系统统具具有有较较好好的的松松耦耦合合性性,因因此此使使得得系系统统更更加加容容易易维维护护。当当然然,关关联联关关系系的的缺缺点点是是比继承关系要创建更多的对象比继承关系要创建更多的对象。使使用用装装饰饰模模式式来来实实现现扩扩展展比比继继承承更更加加灵灵活活,它它以以对对客客户户透透明明的的方方式式动动态态地地给给一一个个对对象象附附加加更更多多的的责责任任。装装饰饰模模式式可可以以在在不不需需要要创创
8、造更多子类的情况下,将对象的功能加以扩展。造更多子类的情况下,将对象的功能加以扩展。篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统装饰模式w模式分析典型的抽象装饰类代码:典型的抽象装饰类代码:public class Decorator extends Componentprivate Component component;public Decorator(Component component)ponent=component;public void operation()component.operation();篮球比赛是根
9、据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统装饰模式w模式分析典型的具体装饰类代码:典型的具体装饰类代码:public class ConcreteDecorator extends Decoratorpublic ConcreteDecorator(Component component)super(component);public void operation()super.operation();addedBehavior();public void addedBehavior()/新增方法 篮球比赛是根据运动队在规定的比赛时间里得分
10、多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统装饰模式w装饰模式实例与解析实例一:变形金刚实例一:变形金刚变形金刚在变形之前是一辆汽车,它可以在陆地上移动。当它变成机器人之后除了能够在陆地上移动之外,还可以说话;如果需要,它还可以变成飞机,除了在陆地上移动还可以在天空中飞翔。篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统装饰模式w装饰模式实例与解析实例一:变形金刚实例一:变形金刚篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统装饰模式w装饰模式实例与解析
11、实例一:变形金刚实例一:变形金刚参考代码(Chapter 13 Decoratorsample01)演示演示演示演示篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统装饰模式w装饰模式实例与解析实例二:多重加密系统实例二:多重加密系统某系统提供了一个数据加密功能,可以对字符串进行加密。最简单的加密算法通过对字母进行移位来实现,同时还提供了稍复杂的逆向输出加密,还提供了更为高级的求模加密。用户先使用最简单的加密算法对字符串进行加密,如果觉得还不够可以对加密之后的结果使用其他加密算法进行二次加密,当然也可以进行第三次加密。现使用装饰模式设计
12、该多重加密系统。篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统装饰模式w装饰模式实例与解析实例二:多重加密系统实例二:多重加密系统篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统装饰模式w装饰模式实例与解析实例二:多重加密系统实例二:多重加密系统参考代码(Chapter 13 Decoratorsample02)演示演示演示演示篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统装饰模式w模式优缺点装饰模式的优点装饰模
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 13 装饰 模式 ppt 课件
限制150内