定义
Decorators make it possible to annotate and modify classes and properties at design time.
装饰器可以让你在设计时对类和类的属性进行注解和修改
通俗来说,就是在不改变原有对象的基础上,通过对其进行包装扩展(添加属性或者方法)使原有对象可以满足用户更复杂的需求。就增加功能来说,装饰模式相对生成子类更为灵活。
实现
装饰模式有不同的实现方法,
第一种,使用继承方式,构建装饰类,传入被装饰类,进行修饰;
//被装饰的类
class Component{
public operate(){
console.log("做些事...");
}
}
//装饰类
class Decorator extends Component{
private component:Component
constructor(){
super();
this.component = new Component();
}
//传入扩展