📜  RxJava-概述

📅  最后修改于: 2020-11-12 05:25:54             🧑  作者: Mango


RxJava是ReactiveX的基于Java的扩展。它提供Java的实现或ReactiveX项目。以下是RxJava的主要特征。

  • 扩展观察者模式。

  • 支持数据/事件序列。

  • 提供运算符以声明的方式将序列组合在一起。

  • 在内部处理线程,同步,线程安全和并发数据结构。

什么是ReactiveX?

ReactiveX是一个旨在为各种编程语言提供反应式编程概念的项目。响应式编程是指程序在数据出现时做出反应的场景。这是基于事件的编程概念,事件可以传播到寄存器观察者。

根据Reactive ,他们结合了Observer模式,Iterator模式和功能模式的最佳组合。

观察者模式正确完成。 ReactiveX是Observer模式,Iterator模式和函数式编程的最佳创意的结合。

功能编程

功能编程围绕使用纯功能来构建软件。纯函数不依赖于先前的状态,并且对于传递的相同参数始终返回相同的结果。纯函数有助于避免与共享对象,可变数据和副作用相关的问题,这些问题通常在多线程环境中普遍存在。

反应式编程

反应式编程是指事件驱动的编程,其中数据流以异步方式进入并在到达时进行处理。

功能反应式编程

RxJava一起实现了这两个概念,其中流的数据随时间变化,并且使用者函数做出相应的反应。

反应式宣言

Reactive Manifesto是一个在线文档,阐明了应用软件系统的高标准。根据宣言,以下是响应式软件的关键属性-

  • 响应式-应始终及时响应。

  • 消息驱动-应在组件之间使用异步消息传递,以便它们保持松散耦合。

  • 弹性-即使在高负载下也应保持响应。

  • 弹性-即使任何组件发生故障,也应保持响应。

RxJava的关键组件

RxJava具有两个关键组件:Observables和Observer。

  • 可观察-它表示类似于Stream的对象,该对象可以发出零个或多个数据,可以发送错误消息,可以在发出一组数据的同时控制其速度,可以发送有限以及无限的数据。

  • 观察者-订阅可观察对象的序列数据,并对可观察对象的每一项做出反应。每当Observable发出数据时,通知观察者。观察员一个接一个地处理数据。

如果项目不存在或之前的项目未返回回调,则永远不会通知观察者。