[设计模式学习笔记]DECORATOR装饰模式

1、意图

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

2、类图

   

3、说明

     装饰模式是给对象增加功能,而不是给整个类增加功能。比如说,你有一个TextView的类,你想给其中的一个TextView的对象(即实例)加一个滚动条,这时候需要一个滚动条的装饰类,来装饰这个对象。而你想给另一个TextView的对象加一个黑边框,这时候需要一个黑边框的装饰类,类装饰这个对象。

    装饰类客可以组合嵌套。例如,你可以给一个TextView增加一个黑边框和滚动条,只需要组合使用滚动条的装饰类和黑边框的装饰类。这样有一个好处,就是当你需要多种组合的装饰时,使用装饰模式比使用继承,可以减少很多子类。比如,同样需要黑边框的TextView和滚动条的TextView和黑边框加滚动条的TextView,如果使用继承,就至少需要三个TextView 的子类。而使用装饰模式,只需要更少的类。当然,还有更多的组合可以装饰,如果说,两个黑边框的TextView,只需要嵌套使用两次黑边框的装饰类即可。

    总之,装饰模式强调的是给对象增加功能。  对象-------增加功能。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值