代码语言:javascript复制
//装饰者模式
//致命思想:人穿上衣服
/*class Circle {
//这里不行,因为下面要调用上面的进行装饰的啊
draw()
{
console.log('画一个原型')
}
}
class Decorator {
constructor(circle)
{
this.circle = circle
}
//然后是先先看看要装饰什么
draw1()//结果这里不能传this.circle过来只能变量
//并且要设置一个函数是装饰什么的函数
然后是
{
this.setRedBoder(circle);
}
setRedBoder(circle) {
console.log('设置红色边框')
}
}
let circle = new Circle()//本来的样子
circle.draw();
//然后我把需要装饰成什么样子告诉装饰者
let dec = new Decorator(circle)//化妆师把我装饰
//这里是返回结果(装饰成的结果)
dec.draw1()*/
核心:是不改变原有结构的添加东西在上面,也俗称装饰把