zoukankan      html  css  js  c++  java
  • 装饰器模式

    装饰模式又可称为包装器(装饰模式比生成子类实现更为灵活)

    装饰模式:允许在一个现有类的基础上添加新的功能,同时又不改变其框架结构。

    装饰类就是一种包装,打扮原有的类,并在保持原有类结构的基础上,添加一些新的功能。

    动态地给一个对象添加一些额外的职责。

    在不想增加很多子类的情况下扩展类的功能。

    装饰模式的结构:1、抽象组件:定义了需要进行装饰的方法

                                  2、具体组件:是抽象组件的一个子类

                                  3、装饰:装饰具体组件

                                   4、具体装饰:是装饰组件的非抽象子类

    优点:装饰类和被装饰类可以独立发展,不会相互耦合。

              装饰模式时继承的一个替代模式

              可以使用多个装饰来装饰具体组件的实例。

    缺点:装饰模式比继承灵活,同样比继承更容易出错。

    适用场景:程序希望动态地增强类的某个对象的功能,而又不影响到该类的其他对象

                      采用继承来增强对象功能不利于系统的扩展和维护

                      需要给一个对象动态的增加功能,也可撤销功能

  • 相关阅读:
    2879. [NOI2012]美食节【费用流】
    luogu P1012 拼数
    luogu cover
    luogu cogs . [NOIP2003] 传染病控制 WA(1/2)
    luogu P1340 兽径管理 WA
    luogu P1342 请柬
    HTML学习笔记二
    HTML学习笔记一
    arr.sort()
    编写函数实现随机产生指定范围的整数的功能
  • 原文地址:https://www.cnblogs.com/cye9971-/p/10597410.html
Copyright © 2011-2022 走看看