1.设计模式原则###
- 多组合,少继承
- 类对拓展开放,对修改关闭
派生的子类接口是在编译时就静态决定的,而所有子类都会继承到相同的接口。然而,利用组合或者说装饰模式来拓展抽象类的接口,就可以在运行时动态的进行扩展。
2.概述###
装饰模式英文名叫Decorator Pattern。装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。
- Component:抽象接口——有标准规范的接口。
- Decorator:持有Component对象,利用Component的API实现与Component同样的接口功能。Decorator是抽象类。
- Concrete Decorator:Decorator派生的角色子类,动态的给Component的API进行拓展。