设计模式——装饰模式

 

装饰模式的结构图如下:

 

 

基本介绍:

装饰模式是一种替代继承的技术,通过一种无须定义子类的方式给对象动态增加职责,使用对象之间的关联关系取代类之间的继承关系。

 

通俗来说:在以前,我们都是通过继承的方式扩展子类的功能,但是通过装饰方式就不需要了。而且类只能继承一个类,扩展功能的能力有限,通过装饰的方式,我们可以很简单给对象增加多种职责。

 

在这里有一个点需要注意:对象之间的关联关系指的是具体构建和具体抽象装饰类的关联关系。

 

代码如下:

抽象构件

 

具体构件

抽象装饰类

具体装饰类

测试代码

测试结果

装饰模式的特点:

扩展对象功能比继承更加灵活,而且一个对象可以装饰多次,从而获取刚强大的功能。但是如果具体构件和具体装饰类过多就会占用更多的系统资源,比继承更加容易出错。

留个问题:在实际业务开发中,有人使用过装饰模式吗?

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值