(原)装饰模式

 

装饰模式的作用是动态的为对象添加一些额外的行为!其实我们可以理解为是类似继承功能的另一种实现方式,不过继承是静态的编译期间就确定,而装饰是动态的运行期间才确定。

那么如何实现装饰模式呢?首先我们需要清楚知道装饰模式有哪些核心元素。

  装饰模式的元素有

原始接口:定义行为

默认实现类:继承原始接口,可以理解为最基本的接口实现

装饰类(可以是抽象的也可以是具体的):继承原始接口,同时聚合了一个默认实现类的对象,这样就即可使用默认实现类的行为也可以添加额外的行为

具体装饰类:继承装饰类,做再一步扩展,如果装饰类是抽象,则具体实现装饰类。

注意:在实际开发中很多业务场景中装饰类已经是具体的,而省略了具体装饰类

  说到这里不知道大家理解为什么叫装饰模式了没,其实“装饰”是对于默认实现类而言,因为具体实现类的对象聚合默认实现类的对象,对默认实现类的行为进行了扩展。如何为默认实现类穿了衣服一样,装饰模式由此而来。

  应用场景:

  1. 适合对默认实现类中的多个接口进行排列组合(默认实现类中聚合了其他接口,为实现不同的功能需要这些接口的不同组合)
  2. 适合对默认实现类惊醒选择性扩展
  3. 适合对默认实现类未知或者不易扩展的情况

转载于:https://www.cnblogs.com/liangjiahao/p/3617288.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值