- Singleton
- 디자인 패턴으로, instance를 생성할 때 새로 만들지 않고 existing instance를 활용하는 방법.
- usecases: DB connection pool
- pros: instance를 만드는 시간과 공간이 없기 때문에 메모리 절약 및 속도가 빠름.
- cons: 멀티스레드 환경에서 instance가 새롭게 만들어질 수 있음.
- 모듈 단위로 imports 시키는 게 제일 안전하고 깔끔한 방법. 뭔가 글로벌하게 주입해주고 싶은 경우 providers를 사용. https://docs.nestjs.com/fundamentals/injection-scopes
- Observer
- 디자인 패턴으로, Observer 리스트를 Observable에 등록하고, 메서드를 통해 Observer에게 Observable의 상태 변화를 통지.
- Objects
- Observer: 객체의 상태 변화를 관찰.
- Observable: Observer가 관찰하는 객체. (Unicast)
- Subject: Observer와 Observable 역할을 모두할 수 있는 객체. (Multicast)
- MessageEvent: 통지에 사용되는 객체.
- Methods
- of, from, interval: Observable 객체 생성
- next: 이벤트 생성
- pipe: 이벤트 통지 전에 값을 변형
- subscribe: 이벤트 통지 받음
- 코드 구현 및 링크