RxJava-개요

RxJava는 ReactiveX의 Java 기반 확장입니다. Java로 구현 또는 ReactiveX 프로젝트를 제공합니다. 다음은 RxJava의 주요 특징입니다.

  • 관찰자 패턴을 확장합니다.

  • 데이터 / 이벤트의 시퀀스를 지원합니다.

  • 시퀀스를 선언적으로 함께 구성하는 연산자를 제공합니다.

  • 스레딩, 동기화, 스레드 안전성 및 동시 데이터 구조를 내부적으로 처리합니다.

ReactiveX는 무엇입니까?

ReactiveX는 다양한 프로그래밍 언어에 반응 형 프로그래밍 개념을 제공하는 것을 목표로하는 프로젝트입니다. 리 액티브 프로그래밍은 데이터가 나타날 때 프로그램이 반응하는 시나리오를 말합니다. 이것은 이벤트 기반 프로그래밍 개념이며 이벤트는 레지스터 관찰자에게 전파 될 수 있습니다.

에 따라 Reactive, 그들은 Observer 패턴, 반복자 패턴 및 기능 패턴의 최고를 결합했습니다.

Observer 패턴이 올바르게 수행되었습니다. ReactiveX는 Observer 패턴, Iterator 패턴 및 함수형 프로그래밍에서 나온 최고의 아이디어의 조합입니다.

함수형 프로그래밍

함수형 프로그래밍은 순수 함수를 사용하여 소프트웨어를 구축하는 것입니다. 순수 함수는 이전 상태에 의존하지 않으며 전달 된 동일한 매개 변수에 대해 항상 동일한 결과를 반환합니다. 순수 함수는 멀티 스레딩 환경에서 흔히 발생하는 공유 객체, 변경 가능한 데이터 및 부작용과 관련된 문제를 방지하는 데 도움이됩니다.

반응 형 프로그래밍

반응 형 프로그래밍은 데이터 스트림이 비동기식으로 제공되고 도착시 처리되는 이벤트 기반 프로그래밍을 말합니다.

기능적 반응 프로그래밍

RxJava는 두 개념을 함께 구현합니다. 여기서 스트림의 데이터는 시간이 지남에 따라 변경되고 소비자 기능이 그에 따라 반응합니다.

반응 선언문

Reactive Manifesto 는 애플리케이션 소프트웨어 시스템의 높은 표준을 설명하는 온라인 문서입니다. 선언문에 따르면 다음은 반응 형 소프트웨어의 주요 속성입니다.

  • Responsive − 항상 적시에 응답해야합니다.

  • Message Driven − 느슨한 결합을 유지하도록 구성 요소간에 비동기 메시지 전달을 사용해야합니다.

  • Elastic − 고부하에서도 응답 성을 유지해야합니다.

  • Resilient − 구성 요소가 실패하더라도 응답을 유지해야합니다.

RxJava의 주요 구성 요소

RxJava에는 Observable과 Observer의 두 가지 주요 구성 요소가 있습니다.

  • Observable − 0 개 이상의 데이터를 방출 할 수있는 Stream과 유사한 객체를 나타내며, 일련의 데이터를 방출하면서 속도를 제어 할 수있는 오류 메시지를 보낼 수 있으며 유한 한 데이터와 무한한 데이터를 보낼 수 있습니다.

  • Observer− Observable의 시퀀스 데이터를 구독하고 Observable 항목별로 반응합니다. Observable이 데이터를 내보낼 때마다 Observer에게 알림이 전송됩니다. Observer는 데이터를 하나씩 처리합니다.

항목이 없거나 이전 항목에 대한 콜백이 반환되지 않으면 관찰자에게 알림이 제공되지 않습니다.