桥接模式

偶尔善良 提交于 2019-12-20 01:51:09

抽象和实现分离,解耦,使得二者可以独立变化。

比如:这里有各种颜色的图形
在这里插入图片描述
可以把四个图形分别画出来,在这里插入图片描述
但是这会让画图形和添加颜色混在一块儿了。我们可以分开:
在这里插入图片描述
代码:

//保留颜色
class Color {
    constructor(name) {
        this.name = name;
    }
}

class Shape {
    constructor(name, color) {
        this.name = name;
        this.color = color;
    }
    draw() {
        console.log(`${this.color.name} ${this.name}`);
    }
}

let red = new Color('red');
let yellow = new Color('yellow');
let circle = new Shape('circle', red);
circle.draw();

let triangle = new Shape('triangle', yellow);
triangle.draw();

// red circle
// yellow triangle
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!