zoukankan      html  css  js  c++  java
  • 设计模式:学习笔记(8)——装饰器模式

    设计模式:学习笔记(8)——装饰器模式

    快速开始

      装饰者模式,是一种动态地向一个类中添加新的行为的设计模式。这非常像给该类创建子类,从而扩展功能。但是装饰者模式比生成子类更加灵活,他可以给某个对象添加功能而不是整个类。

      它的原理是这样的,增加一个修饰类包裹原来的类,包裹的方式一般是通过将原来的对象作为修饰类的构造函数的参数,装饰类实现新的功能,但是,在不需要用到新功能的地方,它可以直接调用原来的类中的方法。装饰类必须与原来的类有相同的接口。

      

    模式分析

    使用场景

      Java基础类库中的输入输出流相关的类大量使用了装饰模式

    优缺点分析

      装饰模式的主要优点在于可以提供比继承更多的灵活性,可以通过一种动态的方式来扩展一个对象的功能,并通过使用不同的具体装饰类以及这些装饰类的排列组合,可以创造出很多不同行为的组合,而且具体构件类与具体装饰类可以独立变化,用户可以根据需要增加新的具体构件类和具体装饰类;

      其主要缺 点在于使用装饰模式进行系统设计时将产生很多小对象,而且装饰模式比继承更加易于出错,排错也很困难,对于多次装饰的对象,调试时寻找错误可能需要逐级排查,较为烦琐。

     参考资料

  • 相关阅读:
    数据库查询语言(DQL)
    MySQL的约束
    MySQL的数据类型
    SQL
    MySQL简介
    个人项目网址
    Nexus Repository Manager(CVE-2020-10199/10204)漏洞分析及回显利用方法的简单讨论
    Joomla 3.0.0
    Groovy 反序列化漏洞分析(CVE-2015-3253)
    PHP反序列化漏洞新攻击面(BlackHat 2018)
  • 原文地址:https://www.cnblogs.com/MrSaver/p/9000608.html
Copyright © 2011-2022 走看看