• 忘掉天地
  • 仿佛也想不起自己
bingliaolongBingliaolong  2020-09-19 03:07 Aet 隐藏边栏 |   抢沙发  9 
文章评分 4 次,平均分 5.0

概述

一般有两种方式可以实现给一个类或对象增加行为:

  • 继承机制
  • 关联机制

继承机制
使用继承机制是给现有类添加功能的一种有效途径,通过继承一个现有类可以使得子类在拥有自身方法的同时还拥有父类的方法。但是这种方法是静态的,用户不能控制增加行为的方式和时机。
关联机制
即将一个类的对象嵌入另一个对象中,由另一个对象来决定是否调用嵌入对象的行为以便扩展自己的行为,我们称这个嵌入的对象为装饰器(Decorator)

定义

动态地给一个对象增加一些额外的职责(Responsibility),就增加对象功能来说,装饰模式比生成子类实现更为灵活。其别名也可以称为包装器(Wrapper),与适配器模式的别名相同,但它们适用于不同的场合。

角色

  • Component: 抽象构件
  • ConcreteComponent: 具体构件
  • Decorator: 抽象装饰类
  • ConcreteDecorator: 具体装饰类

场景

  • 动态透明地向单个对象添加责任,即不影响其他对象
  • 可以撤销责任
  • 当通过子类扩展不切实际时

实现一

实现二

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

bingliaolong
Bingliaolong 关注:0    粉丝:0 最后编辑于:2023-08-03
Everything will be better.

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享