옵저버 패턴을 활용한 자바스크립트 커스텀 이벤트 구현 방법

자바스크립트에서 이벤트를 처리하고 관리하는 방법은 매우 중요합니다. 이벤트가 발생할 때마다 적절한 동작을 수행하기 위해서는 옵저버 패턴을 사용하는 것이 좋습니다.

옵저버 패턴은 소프트웨어 개발에서 많이 사용되는 디자인 패턴 중 하나로, 객체간의 종속성을 줄이고 상호작용을 유연하게 만들어줍니다. 이 패턴을 활용하여 자바스크립트에서 커스텀 이벤트를 구현하는 방법을 알아보겠습니다.

옵저버 패턴의 구조

옵저버 패턴은 주체(Subject)와 옵저버(Observer)로 구성됩니다. 주체는 이벤트가 발생하는 객체이고, 옵저버는 해당 이벤트를 관찰하고 처리하는 객체입니다. 주체와 옵저버는 서로에 대한 정보를 가지지 않으며, 이벤트가 발생하면 주체는 등록된 모든 옵저버에게 알립니다.

자바스크립트에서 커스텀 이벤트 구현하기

  1. Subject 클래스를 생성합니다. 이 클래스는 이벤트를 발생시키는 역할을 수행하며, 옵저버를 추가하고 삭제하는 함수를 제공합니다. ```javascript class Subject { constructor() { this.observers = []; }

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

removeObserver(observer) { this.observers = this.observers.filter(obs => obs !== observer); }

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


2. `Observer` 클래스를 생성합니다. 이 클래스는 주체로부터 알림을 받아 처리하는 역할을 수행합니다.
```javascript
class Observer {
  update(event) {
    console.log(event);
    // 이벤트 처리 로직 작성
  }
}
  1. 커스텀 이벤트를 발생시키고 옵저버에게 알립니다. ```javascript const subject = new Subject(); const observer1 = new Observer(); const observer2 = new Observer();

subject.addObserver(observer1); subject.addObserver(observer2);

subject.notify(‘Custom Event 1’); subject.notify(‘Custom Event 2’); ```

위의 코드를 실행하면, Observer 클래스의 update 메소드가 호출되어 이벤트를 처리하는 로직을 수행합니다. 이렇게 옵저버 패턴을 사용하여 자바스크립트에서 커스텀 이벤트를 구현할 수 있습니다.

옵저버 패턴을 활용하면 자바스크립트 코드를 더욱 유연하고 재사용 가능하게 만들 수 있습니다. 이벤트 처리와 관리에 대한 복잡성을 줄일 수 있으며, 애플리케이션의 확장성과 유지보수성을 향상시킬 수 있습니다.

더 자세한 내용은 옵저버 패턴MDN 문서를 참고하시기 바랍니다.

#자바스크립트 #이벤트