结构型模式-装饰模型

装饰模式(Decorator)


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




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




适用性:
以下情况使用装饰模式:
1)在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责
2)处理那些可以撤销的职责
3)当不能采用生成子类的方法进行扩充时。
  A.可能有大量独立的扩展,为支持每一种组合将产生大量的子类,使得
    子类数目呈爆炸性增长。
  B. 可能是因为类定义被隐藏,或类定义不能用于生成子类。




效果:


1)比静态继承更灵活
2)避免在层次结构高层的类有太多的特征
3)装饰模式和组件(Component)不一样 装饰模式是一个透明的包装
4)有许多小对象




实现:
使用装饰模式时应注意以下几点:
1)接口的一致性
2)省略抽象的装饰类
3)保持与组件类的简单性

4)改变对象外壳与改变对象内核



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值