第05章 结构型模式(下).pptxVIP

  • 0
  • 0
  • 约8.34千字
  • 约 39页
  • 2026-01-15 发布于广东
  • 举报

第5章结构型模式(下)作者:程细柱人民邮电出版社

内容简介?本章教学目标:?进一步理解结构型模式的优缺点;?明白装饰模式、外观模式、享元模式、组合模式的定义与特点;?掌握装饰模式、外观模式、享元模式、组合模式的结构与实现;?学会使用这四种设计模式开发应用程序;?明白这四种设计模式的扩展应用。?本章价值引领:?通过装饰模式的实例说明关注少年儿童成长教育和祖国发展的重要性,培养学生的慈爱心和家国情怀;用外观模式或组合模式的应用实例来说明推动乡村产业兴旺的重要意义和实现方法,提升学生的专业技术水平和家国情怀;利用享元模式在围棋中的应用实例,介绍为国争光的棋手事迹,激发学生的爱国情感。软件设计模式(Java版)、作者:程细柱ISBN:978-7-115-47788-0人民邮电出版社(和)

5.1装饰(Decorator)模式5.1.1模式的定义与特点定义:指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,它属于对象结构型模式。优点:1)采用装饰模式扩展对象的功能比采用继承方式更加灵活;2)可以设计出多个不同的具体装饰类,创造出多个不同行为的组合。缺点:装饰模式增加了许多子类,如果过度使用会使程序变得很复杂。软件设计模式(Java版)、作者:程细柱ISBN:978-7-115-47788-0人民邮电出版社(和)

5.1装饰(Decorator)模式(续)5.1.2模式的结构与实现1.模式的结构装饰模式主要包含以下角色:⑴抽象构件(Component)角色:定义一个抽象接口以规范准备接收附加责任的对象。⑵具体构件(ConcreteComponent)角色:实现抽象构件,通过装饰角色为其添加一些职责。⑶抽象装饰(Decorator)角色:继承抽象构件,并包含具体构件的实例,可以通过其子类扩展具体构件的功能。⑷具体装饰(ConcreteDecorator)角色:实现抽象装饰的相关方法,并给具体构件对象添加附加的责任。软件设计模式(Java版)、作者:程细柱ISBN:978-7-115-47788-0人民邮电出版社(和)

5.1装饰(Decorator)模式(续)5.1.2模式的结构与实现1.模式的结构右边是其结构图:2.模式的实现//该模式的实现代码见附件软件设计模式(Java版)、作者:程细柱ISBN:978-7-115-47788-0人民邮电出版社(和)

5.1装饰(Decorator)模式(续)5.1.3模式的应用实例【例5.1】用装饰模式设计一个反映一个学生成长变化的实例。分析:在该实例中的Person(人)是抽象构件,Citizen(公民)是具体构件,Students(学生)是抽象装饰,学生的子类Schoolchild(小学生)和MiddleStudent(中学生)是具体装饰,右边是其结构图:注:程序代码见附件软件设计模式(Java版)、作者:程细柱ISBN:978-7-115-47788-0人民邮电出版社(和)

5.1装饰(Decorator)模式(续)5.1.3模式的应用实例【例5.2】用装饰模式设计一个反映广东韶关30年的发展变化的实例。右边是其结构图:注:程序代码见附件软件设计模式(Java版)、作者:程细柱销售电话:010学资源网址:/book/details/8402

5.1装饰(Decorator)模式(续)5.1.3模式的应用实例【例5.2】用装饰模式设计一个反映广东韶关30年的发展变化的实例。右边是程序的运行结果软件设计模式(Java版)、作者:程细柱销售电话:010学资源网址:/book/details/8402

5.1装饰(Decorator)模式(续)5.1.4模式的应用场景装饰模式通常在以下几种情况使用:1)当需要给一个现有类添加附加职责,而又不能采用生成子类的方法进行扩充时。如,该类被隐藏或者该类是终极类或者采用继承方式会产生大量的子类。2)当需要通过对现有的一组基本功能进行排列组合而产生非常多的功能时,采用继承关系很难实现,而采用装饰模式却很好实现。3)当对象的功能要求可以动态地添加,也可以再动态地撤销时。软件设计模式(Java版)、作者:程细柱销售电话:010学资源网址:/book/details/8402

5.1装饰(Decorator)模式(续)5.1.5模式的扩展有些应用环境下模式是可以简化装饰模式,如在以下两种情况

文档评论(0)

1亿VIP精品文档

相关文档