设计模式-Decorator模式(装饰者模式)

文章目录

    • 装饰者模式
    • 代码实现
    • 为什么使用装饰者模式

装饰者模式

假如现在有一块蛋糕, 加上奶油就是奶油蛋糕。如果继续再加上草莓,就是草莓蛋糕,再加点蜡烛,就变成了生日蛋糕。不论是蛋糕、奶油蛋糕、草莓蛋糕还是生日蛋糕,它们的核心都是蛋糕。

像这样不断地为对象添加装饰的设计模式被称为Decorator模式。

这个添加的过程有点类似于套娃。就是一个很原始的对象,一直在它外层套东西,不断地装饰它。

代码实现

示例程序的功能是给文字添加装饰边框,这里所谓的装饰边框是指用”-“,”+“,”|”等字符组成的边框。

Component角色,抽象的”被装饰对象“,增加功能时的核心角色,比如定义了三个抽象方法,分别是获取字符串数组的列数,行数,以及输出第几行。还有一个默认方法是输出全部行

ConcreteComponent角色,具体的被装饰对象

Decorator(装饰物)角色,该角色具有与Component角色相同的接口(API),在它内部保存了被装饰对象——Component角色

ConcreteDecorator(具体的装饰物)

测试类


设计模式-Decorator模式(装饰者模式)

来源:Zouhhhhh

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年7月8日
下一篇 2022年7月8日

相关推荐