美文网首页
14. 行为扩展 - 装饰器模式

14. 行为扩展 - 装饰器模式

作者: 转岗做JAVA | 来源:发表于2021-10-11 20:06 被阅读0次
定义

装饰器模式(Decorator Pattern) :动态地给一个对象增加一些额外的职责(Responsibility),就扩展功能来说,装饰模式比生成子类实现更为灵活。

如何实现

同样,装饰器模式有两个重要角色:被装饰的组件和装饰器。
第一步:定义一个组件(Component)和装饰器(Decorator)共有抽象接口(协议),对外暴露出扩展的方法(operation);
其中抽象装饰器的构造函数需要传入共有的抽象类型参数进行初始化,且装饰器需要持有该类型的引用;
第二步:具体组件实现方法(operation)原始逻辑,通常是已经实现好了;具体装饰器在实现方法(opertaion)时,会添加一些扩展的逻辑,并会通过持有的组件引用执行(operation)原始逻辑。
第三步:客户端使用时负责创建具体的组件和装饰器,而且由于组件和装饰器具有同样的上层抽象接口,所以可以嵌套使用多个装饰器来扩展组件的原始操作逻辑。

相关文章

  • 14. 行为扩展 - 装饰器模式

    定义 装饰器模式(Decorator Pattern) :动态地给一个对象增加一些额外的职责(Responsibi...

  • Decorator Pattern - 装饰器模式 - java

    装饰器模式注重扩展已有的功能。 对于 装饰器模式 的使用场景,以及优缺点等说明,请参考 菜鸟教程|装饰器模式 ,这...

  • iOS设计模式五(访问者,装饰,责任链)

    承接上文iOS设计模式四(组合,迭代器)本文为行为扩展--获取源码 目录1 访问者模式2 装饰模式3 责任链模式 ...

  • 设计模式3:装饰模式

    装饰模式(Decorator Pattern)能动态附加对象的功能,装饰器提供了比继承更为灵活的扩展方案。这个模式...

  • 大牧絮叨设计模式:装饰器模式

    1、 装饰器模式概述 装饰器模式(Decorator)[GOF95]是一种结构模式,通常情况下我们扩展一个类型的功...

  • 设计模式之装饰器模式

    装饰器模式: 动态的将责任附加到对象上。若要扩展功能,装饰器提供了比继承更有弹性的替代方案。 装饰器中有两个比较重...

  • 装饰器模式

    什么是装饰器模式   所谓装饰器模式就是一种在不修改原来代码的前提下,动态的扩展代码功能的一种设计模式。当然了,这...

  • 装饰模式

    什么是装饰模式? 装饰器模式,也成为包装模式,顾名思义,就是对已经存在的某些类进行装饰,以此来扩展一些功能。其结构...

  • 测试工具中的设计模式实例谈 - 装饰模式

    装饰模式 理想的装饰模式的UML图如下: 理想的装饰器模式要求对客户端透明,只改变行为,不改变接口。 Hamcre...

  • 设计模式(八):装饰器模式

    装饰器模式(Decorator) 装饰器模式能够从一个对象的外部动态地给对象添加功能。 一般的,我们为了扩展一个类...

网友评论

      本文标题:14. 行为扩展 - 装饰器模式

      本文链接:https://www.haomeiwen.com/subject/mgcroltx.html