본 내용은 필자가 학습한 내용을 정리하는 내용입니다. 대부분 의 내용이 아래 책의 내용이므로 원서를 구매해서 직접보시는걸 추천드립니다! RxJava 프로그래밍 리액티브 프로그래밍 기초부터 RxAndroid까지 한 번에 |
리액티브 연산자란?
리액티브 연산자는 함수라고 할수있다. 형식만 놓고 보았을 때 Observable등의 클래스에 포함되어 있으므로 자바 관점에서는 메소드이다. 하지만 함수형 프로그래밍 원리에 따르면 리액티브 연산자는 부수효과(side effect)*가 없는 순수함수(pure functions)이다. 그러므로 메소드보다는 함수라고 하는것이 자연스럽다.
*부수효과 - 여러 스레드가 경쟁조건(race condition)에 빠지게 되었을때 예측할 수 없는 잘못된 결과가 나오는것
연산자 |
설명 |
생성(Creating) 연산자 |
Observable, Single 클래스 등으로 데이터의 흐름을 만들어내는 함수이다. create(), ,just()나 fromArray()등등 그리고 interval(), range(), timer(), defer()등이 있다. 모든 RxJava 프로그래밍은 생성 연산자에서 시작한다. |
변환(Transforming) 연산자 |
어떤 입력을 받아서 원하는 출력 결과를 내는 전통적인 의미의 함수. map() ,flatMap()등 |
필터(Filter) 연산자 |
입력 데이터 중에 원하는 데이터만 걸러낸다. filer(), first(), take()등 |
합성(Combining) 연산자 |
생성,변환,필터 연산자가 주로 단일 Observable을 다룬다면 합성 연산자는 여러 Observable을 조합하는 역할을 한다. 한개의 Observable뿐만 아니라 여러개의 Observable을 생성하고 조합해 보는것이 RxJava프로그래밍의 묘미일것이다. |
오류 처리(Error Handling) 연산자 |
onErrorReturn(), onErrorResumeNext()와 retry() 등이 있다. |
유틸리티(Utility) 연산자 |
주로 연산자로는 subscribeOn()과 observeOn() 등이 있으며 비동기 프로그래밍을 지원한다 |
조건(Conditional) 연산자 |
Observable의 흐름을 제어하는 역할을 한다
|
수학과 집합형(Mathematical and Aggregate) 연산자 |
수학 함수와 연관있는 연산자 |
배압(Back pressure) 연산자 |
배압 이슈에 대응하는 연산자 |
'Rx' 카테고리의 다른 글
리액티브연산자 -2( flatMap함수) (0) | 2018.12.24 |
---|---|
리액티브연산자 -1( map함수) (0) | 2018.12.24 |
Observable -16 (ConnectableObservable 클래스) (4) | 2018.12.24 |
Observable -15 (Subject클래스-ReplaySubject클래스,데이터발행자와 수신자) (2) | 2018.12.23 |
Observable -13 (Subject클래스-AsyncSubject클래스) (6) | 2018.12.23 |
댓글