• 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: 이벤트 통지 받음
    • 코드 구현 및 링크
      • Notification using SSE
      • Official RxJS Observable