디자인 패턴이란 소프트웨어 개발을 하면서 발생하는 다양한 이슈들을 해결하는데 도움을 주는 기술들이다.
프레임워크, 라이브러리 같은 도구들과 달리 순수한 패턴 즉, 조언자의 역할만 한다.
JavaScript의 대표적인 디자인 패턴에는 싱글톤 패턴, 팩토리 패턴, observer 패턴 등이 있으며, observer pattern에 대해 알아보자!
클라이언트 측 JavaScript 프로그래밍에서 널리 사용되는 패턴으로, 객체 간의 결합도를 낮추기 위해 사용하는 디자인 패턴
결합도 ? 모듈간에 얼마나 상호의존성을 가지고 있느냐의 수준
객체의 변경을 추적하기 위해서 옵저버 패턴을 통해 객체 참조를 공유하는 모든 이들에게 변경 사실을 통지하고 이에 대처하는 대응이 필요하다.
모듈들에게 옵저버를 등록하여 상태 변화가 있을 때마다 메서드를 통해 옵저버에게 통지하도록 하는 시스템
- subject가 옵저버를 등록한 즉, 관찰 대상이 되는 객체들이다.
- subject에 이벤트가 발생하면 옵저버에게 콜백함수 즉, notifyObservers() 함수가 전달된다.
<참고 : https://lihano.tistory.com/19 >