JavaScript 设计模式是 JavaScript 开发者必须掌握的知识点之一。它可以帮助我们写出更加可维护、可扩展和可重用的代码。以下是一些常见的设计模式:
单例模式 (Singleton)
单例模式确保一个类只有一个实例,并提供一个全局访问点。
class Database {
constructor() {
if (!Database.instance) {
Database.instance = this;
}
return Database.instance;
}
}
const db = new Database();
观察者模式 (Observer)
观察者模式定义对象间的一对多依赖关系,当一个对象改变状态时,所有依赖于它的对象都会得到通知并自动更新。
class Subject {
constructor() {
this.observers = [];
}
subscribe(observer) {
this.observers.push(observer);
}
notify() {
this.observers.forEach(observer => observer.update());
}
}
class Observer {
update() {
console.log('Observer notified!');
}
}
const subject = new Subject();
const observer = new Observer();
subject.subscribe(observer);
subject.notify();
中介者模式 (Mediator)
中介者模式定义一个对象来封装一组对象之间的交互,使它们不需要显式地相互引用,从而降低它们之间的耦合。
class Mediator {
constructor() {
this.components = [];
}
addComponent(component) {
this.components.push(component);
}
notify(component) {
this.components.forEach(c => {
if (c !== component) {
c.receive(component);
}
});
}
}
class Component {
constructor(mediator) {
this.mediator = mediator;
this.mediator.addComponent(this);
}
receive() {
// ...
}
}
更多设计模式可以参考本站的设计模式教程。
JavaScript 设计模式