总第65篇
我们在日常生活中,每天会换衣服,进行不同的着装,类比于程序中,给某个类添加一点功能或职责,这种做法就是装饰模式。本篇将详细梳理这种模式。
1.装饰模式的概念
装饰模式(Decorator Pattern)是继承关系的一个有效替代,它动态地为一个对象添加一些额外的职责和功能,就增加对象功能来说,装饰模式比生成子类更加灵活。
装饰模式的类图关系如下图所示:
从上面的类图关系中,我们可以看出装饰模式主要包含四个角色:
Component
抽象构件:它是一个接口或一个抽象类,定义最核心的对象;ComponentImplA
具体构件:最核心的接口或抽象类的实现,是被装饰的对象;Decorator
装饰角色