装饰者模式

1 什么是装饰模式
装饰者模式动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。和代理模式很相似,但在对被装饰的对象的控制程度是不同的;装饰者模式是对对象功能的加强,而代理模式是对对象施加控制,并不提供对对象本身功能的加强。

通俗点讲,假设现在一杯纯豆浆(Soya)卖1元钱,你可以选择往里边加糖0.5元(Suger),加蜂蜜0.5元(Honey),加牛奶1元(Milk),加黑豆1元(BlackBean)。这里面纯豆浆就是被装饰者,而糖、蜂蜜、牛奶、黑豆就是装饰者了。

2 模式结构

Component,给出一个抽象接口或者抽象类,规范实现类的一些方法;
ConcreteComponent:具体的一个组件,实现了抽象方法;
Decorator:抽象的装饰者,对抽象接口或者抽象类的一个引用,在 method 方法里面使用这个引用完成任务;(代理模式需要实例化)
ConcreteDecorator:具体的装饰者,对抽象装饰者的抽象部分进行实现。
 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值