본문 바로가기
개발/Rx프로그래밍

[Rx프로그래밍] Observable 의 데이터 발행자와 수신자

by 핸디(Handy) 2020. 4. 22.
데이터 발행자(Data Source)  데이터 수신자

Observable

Single

Maybe

Subject

Completable

구독자(Subscriber)

옵서버(Observer)

소비자(Consumer)

데이터 발행자들은 Class 이기 때문에 구분이 명확하게 구분이 가능하지만,

데이터 수신자의 3가지 타입은 경계가 모호합니다.  따라서 각각의 명칭이 붙어지는 상황에 대해 설명하겠습니다.

  • 구독자 
    • RxJava에서 Observable 과 연결할 때는 Subscribe()함수 호출. 이때는 함수명 그대로 구독자가 됨
  • 옵서버
    • RxJava는 옵서버 패턴에 따라 구현함. 따라서 데이터 발신자는 Observable가 되고 데이터 수신자는 Observer
  • 소비자
    • RxJava 2에서는 함수형 인터페이스인 Consumer로 인자를 넘김으로 전부 소비자가 됨.

 --> 결론은 그냥 3개다 같은 의미를 입니다. 단지 상황에 따라 세부적으로 구별하기 위해 나눠눈 것일뿐입니다.

 

댓글