番外:仅供个人学习
装饰模式类图:
ConcreteComponent即为装饰者,Decorator即为装饰器。
特点:装饰者和装饰器都继至同一个父类,并且装饰器还由父类(装饰者或装饰器)组合而成。即装饰器类成员变量一定包含了装饰者或者装饰器本身。
使用:
ConcreteComponent c = new ConcreteComponent();//定义一个装饰者 ConcreteDecoratorA d1 = new ConcreteDecoratorA ();//定义第一个装饰器 ConcreteDecoratorB d2 = new ConcreteDecoratorB ();//定义第一个装饰器 .........//定义第N个装饰器 //开始装饰 d1.setComponent(c); d2.setComponent(d1); .......... dn.setComponent(dn-1);
最终,dn即为被装饰以后的对象。
时间: 2024-11-15 15:57:51