将抽象与其实现分离,以便两者可以独立变化。
// input device
class Mouse {
constructor(output) {
this.output = output;
}
click() {
this.output.click();
}
move() {
this.output.move();
}
}
// output device
class Screen {
construcotr() {}
click() {
console.log("screen click");
}
move() {
console.log("screen move");
}
}
export { Mouse, Screen };const screen = new Screen();
const mouse = new Mouse(screen);
mouse.click();
mouse.move();