装饰器模式
装饰器模式:为对象添加新功能,不改变其原有的结构和功能。
适配器模式是原有的不能用了,要重新封装接口。装饰器模式是原有的还能用,但是需要新增一些东西来完善这个功能。
比如手机壳,手机本身的功能不受影响,手机壳就是手机的装饰器模式。
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()
/*输出结果:
画一个圆形
设置红色边框
*/