리액티브 프로그래밍 기본 개념 정리

2021, Feb 02    

관찰자(Observer) 패턴

observer design pattern

  • subject (주체)
    • 정보(이벤트)를 발행하는 주체 예)정기메일 발송자
    • 일반적으로 자신의 메서드 중 하나를 호출해(그림에서는 notify) 관찰자(observer)에게 상태 변경을 알린다.
  • observer (관찰자)
    • 정보(이벤트)를 수신하는 역할 예)정기메일 구독자
  • 이 패턴은 이벤트 처리를 기반으로 시스템을 구현할 때 필수적이다. 관찰자 패턴은 MVC패턴의 중요한 부분이다.

발행-구독(Pub/Sub) 패턴 pub_sub pattern

  • 게시자와 구독자간에 ‘이벤트 채널’이라는 중간 계층을 제공
  • 일반적인 메시지 패턴
  • 이벤트 채널 - 메시지 브로커 또는 이벤트 버스라고도 함.
  • 토픽 기반 시스템(topic-based system)의 구독자는 관심 토픽에 게시된 모든 메시지를 수신하게 됨.