1. 定义:
动态地给yield对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。
2. 类图:
3. 装饰模式解析:
Component是一个接口或者是抽象类,就是定义我们最核心的对象,也就是最原始的对象。记住在装饰模式中,必然有一个被提取出来最核心、最原始、最基本的接口或抽象类,就是Component。
ConcreteComponent是Component的实现,就是我们要装饰的目标。
Decorator一般是一个抽象类,在它的属性里必然有一个private变量指向Component。
ConcreteDecoratorA和ConcreteDecoratorB是两个具体的装饰类。
装饰模式是对继承的有力补充,继承不是万能的,继承可以解决实际的问题,但在项目中要考虑易维护、易扩展、易复用等,继承是静态的给类增加功能,而装饰模式则是动态的给类增加功能。
装饰模式解析
1241

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



