Decorator装饰者模式 - GoF设计模式(二)

1.    类别:对象结构型模式

2.    意图:动态给一个组件添加一些额外的职责,Decorator模式可以仅从外部改变组件,而组件无需对它的装饰有任何了解,即装饰对组件是透明的。

3.    结构:

   

4.    参与者:

l  Component:定义一个对象接口,可以给这些对象动态透明地添加职责。

l  ConcreteComponentComponent的实现类。

l  Decorator:与Component接口一致的抽象类,并维持一个指向Component对象的指针。

l  ConcreteDecortor:向组件添加额外的职责。

5.    协作:

l  Decorator将请求转发给它的Component对象,并在转发前后执行附加的功能。

6.    适用性:

l  在不影响组件的情况下,以动态、透明的方式给单个对象添加职责。

l  处理那些可以撤销的职责。

l  组件有大量独立的扩展,不适合采用子类进行扩充时。

7.    已知应用:

l  Java IO Streams:流链

l  SiteMesh用来在JSP中实现页面布局和装饰组件,能够较容易实现页面中动态内容和静态装饰外观的分离。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值