Skip to content

行为型模式

行为型设计模式。

观察者模式

定义对象间一对多的依赖关系。

javascript
class Subject {
  constructor() {
    this.observers = []
  }
  
  subscribe(observer) {
    this.observers.push(observer)
  }
  
  notify(data) {
    this.observers.forEach(obs => obs.update(data))
  }
}

策略模式

定义一系列算法,把它们封装起来。

javascript
class Context {
  constructor(strategy) {
    this.strategy = strategy
  }
  
  execute() {
    return this.strategy.do()
  }
}

命令模式

将请求封装为对象。

责任链模式

使多个对象都有机会处理请求。