设计模式——装饰模式

 

装饰模式的结构图如下:

 

 

基本介绍:

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

 

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

 

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

 

代码如下:

抽象构件

 

具体构件

抽象装饰类

具体装饰类

测试代码

测试结果

装饰模式的特点:

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

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

 

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页