EventManager(=EventBus) 패턴이란?
EventManager는 간단하게 이벤트들을 관리하는 객체 입니다. EventManager에는 다음과 같이 3가지의 역할이 존재합니다.
- Event (이벤트): 이벤트들을 저장하는 이벤트 data 저장소
- Publisher (발신자): 저장된 이벤트를 발생시키는 발신자
- Subscriber (수신자): 이벤트가 발생시켰을 때 해당 이벤트를 수신하는 구독자
이러한 개념을 적용시켜서 javascript로 EventManager 객체를 만들면 아래와 같습니다.
EventManager 객체
- list(이벤트): 특정 key로 이벤트를 저장하는 Map 자료구조
- emit(발신자): list 자료구조에 특정 key의 event가 존재하는지 확인하고 존재한다면 해당 이벤트를 실행시킴
- on(수신자): on 메서드들 이용해서 list 자료구조에 이벤트를 등록하고, 나중에 emit 메서드로 발생이 된다면 등록된 이벤트가 실행됨
- off(수신자): off 메서드를 이용해서 등록된 이벤트를 제거
'Javascript' 카테고리의 다른 글
자바스크립트 비동기 처리에 대하여 - 1 (0) | 2021.12.31 |
---|
댓글