装饰器模式
适配器模式是原来的接口就不能用了,需要做一个适配之后才能继续使用。
装饰器是原先接口还能用,在此基础上添加一些新功能。(为对象添加新功能,并且不改变原有结构和功能)
下面我们来举一个装饰器的例子:
class Circle {
draw() {
console.log('画一个圆形')
}
}
class Decorator {
constructor(circle) {
this.circle = circle
}
draw() {
this.circle.draw()
this.setRedBorder(circle)
}
setRedBorder(circle) {
console.log('设置红色边框')
}
}
// 测试
let circle = new Circle()
circle.draw()
let dec = new Decorator(circle)
dec