본문 바로가기
Rx

Observable -1

by 봄석 2018. 12. 23.

본 내용은 필자가 학습한 내용을 정리하는 내용입니다.

대부분 의 내용이 아래 책의 내용이므로 원서를 구매해서 직접보시는걸 추천드립니다!

RxJava 프로그래밍 리액티브 프로그래밍 기초부터 RxAndroid까지 한 번에

유동환 , 박정준 지음 | 한빛미디어 | 2017년 09월 04일 출간

http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788968488658&orderClick=LAV&Kc=


RxJava 2.x의 Observable클래스


Observable - 데이터 흐름에 맞게 알림을 보내 구독자가 데이터를 처리할 수 있도록 

하는 클래스


Maybe - reduce()함수나 firstElement()함수와 같이 데이터가 발행 될 수 있거나 

혹은 발행되지않고도 완료되는 경우


Flowable - Observable에서 데이터가 발행되는 속도가 구독자가 처리하는 속도보다 현저하게 빠른 경우 배압 이슈에 대응하는 기능을 추가로 제공



Observable 클래스

- Observable은 옵서버패턴을 구현한다.

 *옵서버 패턴이란옵서버 패턴(observer pattern)은 객체의 상태 변화를 관찰하는 관찰자들, 즉 옵저버들의 목록을 객체에 등록하여 상태 변화가 있을 때마다 메서드 등을 통해 객체가 직접 목록의 각 옵저버에게 통지하도록 하는 디자인 패턴이다. 주로 분산 이벤트 핸들링 시스템을 구현하는 데 사용된다. 발행/구독 모델로 알려져 있기도 하다.

출처 -  https://ko.wikipedia.org/wiki/%EC%98%B5%EC%84%9C%EB%B2%84_%ED%8C%A8%ED%84%B4


- 옵서버 패턴은 객체의 상태변화를 관찰하는 관찰자(옵서버) 목록을 객체에 등록한다.

- 그리고 상태 변화가 있을 때마다 메서드를 호출하여 객체가 직접 목록의 각 옵서버에게 

변화를 알려준다.

-라이프 사이클은 존재하지 않으며 보통 단일 함수를 통해 변화만 알린다.


Observed라는 단어가 관찰을 통해 얻은 결과를 의미한다면 Observable은 현재는 관찰되지 않았지만 이론을 통해서 앞으로 관찰할 가능성을 의미한다.




RxJava의 Observable의 세가지 알림

1) onNext : Observable 이 데이터의 발행을 알립니다.기존의 옵서버 패턴과 같습니다

2) onComplete : 모든 데이터의 발행을 완료했음을 알립니다. onComplete 이벤트는 

단 한번만 실행되며 발생한 후에는 더이상 onNext 이벤트가 발생해서는 안된다.

3) onError : Observable 에서 어떤 이유로 에러가 발생했음을 알립니다. onError 이벤트가 발생하면 이후에 onNext 및 onComplete 이벤트가 발생하지 않습니다. 즉, Observalbe 의 실행을 종료합니다.







댓글