본문 바로가기

Programming Language/Javascript

[Javascript] Observer 패턴 ( 관찰자 패턴 for 업데이트 )

Observer 패턴 ( 관찰자 패턴 for 업데이트 )

  • 관찰자 패턴을 사용하여 데이터 변경을 감지하고 관찰자(옵저버)들에게 변경을 통지하고 업데이트 한다.
  • Javascript 에서 데이터 변경을 감지하고 UI 를 업데이트하는 전통적인 방법이다.
  • 스벨트킷 에서는 ‘$:’ 문법이 있다.
class Observable {
  constructor() {
    this.observers = [];
  }

  addObserver(observer) {
    this.observers.push(observer);
  }

  notifyObservers() {
    this.observers.forEach(observer => {
      observer.update();
    });
  }
}

const data = new Observable();

data.addObserver({
  update() {
    // UI 업데이트 로직
  }
});

// 데이터 변경 시
data.notifyObservers();