본문
[2018.03.17] 37. RxJava Subject 개념과 종류
도입
이번 포스팅에서는 RxJava의 Subject의 개념과 종류에 대해 공부할 예정이다.
개념
(출처 - http://reactivex.io/documentation/subject.html)
Subject는 설명과 같이 Observable과 Observer의 역할을 모두한다.
즉, 자신이 데이터를 발행하고 데이터를 처리 할 수 있다는 것이다.
사용 이유
Hot Observable을 Cold Observable로 변경 가능(아직 와닿지는 않는다.)
Hot Observable을 활용하기 위함이다. 아래 실습을 통해 알아 볼 예정이다.
종류와 실습
Subject는 총 4가지의 종류가 있다.
1. AsyncSubject
- 개념
(출처 - http://reactivex.io/documentation/subject.html)
마블 다이어그램을 확인해보면 AsyncSubject는 구독자에게 onComplete() 함수가 호출되면 마지막 값만 Push한다.
- 실습
|
|||
2. BehaviorSubject
- 개념
(출처 - http://reactivex.io/documentation/subject.html)
마블 다이어그램을 확인해보면 BehaviorSubject는 구독자에게 구독 직전의 값부터 Push 한다. 처음부어 구독하는 구독자에게는 Default Value부터 Push 한다.
- 실습
|
|||
3. PublishSuject
- 개념
(출처 - http://reactivex.io/documentation/subject.html)
마블 다이어그램을 확인해보면 PublishSubject는 구독자에게 구독 이후의 값들을 Push 한다.
- 실습
|
|||
4. ReplaySubject
- 개념
(출처 - http://reactivex.io/documentation/subject.html)
마블 다이어그램을 확인해보면 ReplaySubject는 구독자에게 구독 이전부터 발행한 모든 값을 Push 한다.
- 실습
|
|||
#reactive #subject #rxjava
'컴퓨터 > 이론: 개발' 카테고리의 다른 글
[2018.03.25] 28. Git 협업하기 (0) | 2018.03.25 |
---|---|
코틀린(Kotlin) 기본 문법 - 5 (0) | 2018.03.23 |
[2018.03.16] 27. type-safe 개념 (0) | 2018.03.16 |
코틀린(Kotlin) 기본 문법 - 4 (0) | 2018.03.12 |
코틀린(Kotlin) 기본 문법 - 3 (0) | 2018.03.12 |
댓글