1 / 34
文档名称:

软件设计模式:SDP03-04装饰模式.ppt

格式:ppt   大小:1,611KB   页数:34页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

软件设计模式:SDP03-04装饰模式.ppt

上传人:窝窝爱蛋蛋 2021/12/8 文件大小:1.57 MB

下载得到文件列表

软件设计模式:SDP03-04装饰模式.ppt

相关文档

文档介绍

文档介绍:装饰模式
装饰模式
模式动机与定义
模式结构与分析
模式实例与解析
模式效果与应用
模式扩展
装饰模式
模式动机
在现实生活中,存在如下一些场景:
买了新房,但却是毛坯房,它可以居住,但如何能变得更漂亮、更温馨、更实用、更能满足居家的需求?答案是装修,对新房进行装修不但没有改变房屋用于居住的原有功能,又增加了很多新功能。
一张纸板照片,如何让它更美观、保存更长久?即在不改变照片记录影像的原有功能前提下,增加新的好看、防潮功能。答案是我们可以给它增加一个相框,而且可以根据喜好给它增加不同类型的相框,甚至可以在一个小相框的外面再套一个大相框。
装饰模式
模式动机
装饰模式
模式动机
在软件设计中,一般有两种方式可以实现给一个类或对象增加行为(新功能):
继承机制,使用继承机制是给现有类添加功能的一种有效途径,通过继承一个现有类可以使得子类在拥有自身方法的同时还拥有父类的方法。但是这种方法是静态的,用户不能控制增加行为的方式和时机。
关联机制,即将一个类的对象嵌入另一个对象中,由另一个对象来决定是否调用嵌入对象的行为以便扩展自己的行为,我们称这个嵌入的对象为装饰器(Decorator)。
装饰模式
模式动机
装饰器使用对象之间的关联关系取代类之间的继承关系,在装饰器中既可以调用原有类的方法,还可以增加新的方法,以扩充原有类的功能。它通过一种无须定义子类的方式来给对象动态增加职责,符合合成复用原则。
装饰模式
模式定义
装饰模式(Decorator Pattern) :动态地给一个对象增加一些额外的职责(Responsibility),就增加对象功能来说,装饰模式比生成子类实现更为灵活。其别名也可以称为包装器(Wrapper),与适配器模式的别名相同,但它们适用于不同的场合。根据翻译的不同,装饰模式也有人称之为“油漆工模式”,它是一种对象结构型模式。
在装饰模式中,为了让系统具有更好的灵活性和可扩展性,我们通常会定义一个抽象装饰类,而将具体的装饰类作为它的子类,同时,也还会引入一个抽象构件类。
装饰模式
模式结构
装饰模式
装饰模式包含如下角色
Component:抽象构件,它是具体构件和抽象装饰类的共同父类,声明了在具体构件中实现的业务方法,它的引入可以使客户端以一致的方式处理未被装饰的对象以及装饰之后的对象,实现客户端的透明操作。
ConcreteComponent:具体构件,它是抽象构件类的子类,用于定义具体的构件对象,实现了在抽象构件中声明的方法,装饰器可以给它增加额外的职责(方法)。
装饰模式
装饰模式包含如下角色
Decorator:抽象装饰类,它也是抽象构件类的子类,用于给具体构件增加职责,但是具体职责在其子类中实现。它维护一个指向抽象构件对象的引用,通过该引用可以调用装饰之前构件对象的方法,并通过其子类扩展该方法,以达到装饰的目的。
ConcreteDecorator:具体装饰类,它是抽象装饰类的子类,负责向构件添加新的职责。每一个具体装饰类都定义了一些新的行为,它可以调用在抽象装饰类中定义的方法,并可以增加新的方法用以扩充对象的行为。
模式分析
由于具体构件类和装饰类都实现了相同的抽象构件接口,因此装饰模式以对客户透明的方式动态地给一个对象附加上更多的责任,换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同。装饰模式可以在不需要创造更多子类的情况下,将对象的功能加以扩展。
装饰模式

最近更新

2024年黄河水利职业技术学院单招职业适应性测.. 53页

创新团队建设与激励 23页

内蒙古呼和浩特市事业单位招聘考试(职业能力.. 147页

吉林省吉林市选调生考试(行政职业能力测验).. 150页

山西省长治市事业单位招聘考试(职业能力倾向.. 148页

江苏省苏州市选调生考试(行政职业能力测验).. 147页

河北省承德市事业单位招聘考试(职业能力倾向.. 147页

河南省三门峡市选调生考试(行政职业能力测验.. 149页

湖北省鄂州市选调生考试(行政职业能力测验).. 149页

辽宁省锦州市选调生考试(行政职业能力测验).. 147页

冷沉淀治疗银屑病关节炎患者的临床效果观察 26页

冷沉淀在胸腔积液患者中的应用效果评估 27页

冷沉淀制备对糖尿病患者肾功能评估的影响分析.. 27页

县乡教师选调进城考试《教育心理学》题库含答.. 121页

职业教育法考试题库【考点梳理】 26页

冠状动脉搭桥术后的切口护理与换药技巧 30页

农业银行网点6S管理的持续改进 26页

内训师团队决策培训课程提高团队决策效力 26页

全科医学教育的医学文化素养 31页

党支部组织行政工作 27页

儿童常见疾病与诊疗进展培训课件 25页

儿科胃肠疾病护理的关键要点 29页

信息安全教育培训课件 30页

住院医师规范化培训年度学科建设总结 26页

中国历史文化知识竞赛100题附参考答案【培优】.. 14页

县乡教师选调考试《教师职业道德》题库(考试.. 42页

职业教育法考试题库附参考答案(考试直接用).. 26页

优化患者流程提高就医便利性 28页

码头安全生产培训 27页

公租房承诺书 2页