Skip to main content

装饰器模式

装饰器模式:为对象添加新功能,不改变其原有的结构和功能。

适配器模式是原有的不能用了,要重新封装接口。装饰器模式是原有的还能用,但是需要新增一些东西来完善这个功能。

比如手机壳,手机本身的功能不受影响,手机壳就是手机的装饰器模式。

class Circle {
draw(){
console.log('画一个圆形')
}
}

class Decorator{
constructor(circle){
this.circle = circle
}
// 装饰器
draw(){
this.setRedBorder(circle)
}
setRedBorder(circle){
console.log('设置红色边框')
}
}
let circle = new Circle()

let client = new Decorator(circle)
client.draw()

/*输出结果:
画一个圆形
设置红色边框
*/