(12)设计模式-装饰器模式

1. 定义

动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。

Java IO 使用的就是装饰器模式。

2. 通用类图

装饰器模式

3. 装饰器的优缺点

3.1 优点

  1. 装饰类和被装饰类可以独立发展,而不会相互耦合。
  2. 装饰模式是继承关系的一个替代方案。
  3. 装饰器模式可以动态地扩展一个实现类的功能。

3.2 缺点

多层的装饰是比较复杂的。

4. 装饰模式的使用场景

  1. 需要扩展一个类的功能,或给一个类增加附加功能。
  2. 需要动态地给一个对象增加功能,这些功能可以再动态地撤销。
  3. 需要为一批的兄弟类进行改装或加装功能,当然是首选装饰模式。

5. 装饰器模式特殊地方

  1. 装饰器类和原始类继承同样的父类,可以对原始类“嵌套”多个装饰器类。
  2. 装饰器类是对功能的增强,这也是装饰器模式应用场景的一个重要特点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值