装饰模式的结构图如下:

基本介绍:
装饰模式是一种替代继承的技术,通过一种无须定义子类的方式给对象动态增加职责,使用对象之间的关联关系取代类之间的继承关系。
通俗来说:在以前,我们都是通过继承的方式扩展子类的功能,但是通过装饰方式就不需要了。而且类只能继承一个类,扩展功能的能力有限,通过装饰的方式,我们可以很简单给对象增加多种职责。
在这里有一个点需要注意:对象之间的关联关系指的是具体构建和具体抽象装饰类的关联关系。
代码如下:
抽象构件

具体构件

抽象装饰类

具体装饰类

测试代码

测试结果

装饰模式的特点:
扩展对象功能比继承更加灵活,而且一个对象可以装饰多次,从而获取刚强大的功能。但是如果具体构件和具体装饰类过多就会占用更多的系统资源,比继承更加容易出错。
留个问题:在实际业务开发中,有人使用过装饰模式吗?
博客介绍了装饰模式,它是替代继承的技术,通过对象关联取代类继承,能动态给对象增加职责,扩展功能更灵活,一个对象可多次装饰。还给出了代码示例,指出若具体构件和装饰类过多会占资源且易出错,并留下业务应用疑问。
1848

被折叠的 条评论
为什么被折叠?



