1、Rxjava-简介

1 函数式编程 (Functional Programming,简称FP)

1.1 概念

如果说面向对象是抽象的名词,那么函数则是抽象的动词

Lamber演算的概念:用函数组合的方式来描述计算过程 ( 如果问题能够用一套函数组合的算法来表达,那就说明这个问题是可计算的。)

1.2 特性

1.3 事例

举个例子,写一个自增函数

int count;
void increment(){
    count++;
}
int increment(int count){
    return count + 1;
}

1.4 周边常用

高阶函数或其组合,比如map,filter,reduce。

2 响应式编程 (Reactive Programming,简称RP)

2.1 概念

响应式编程是一种面向数据流和变化传播的编程范式。这意味着可以在编程语言中很方便地表达静态或动态的数据流,而相关的计算模型会自动将变化的值通过数据流进行传播。

2.2 特性

2.3 举例

流水线

3 函数响应式编程(Functional Reactive Programming,简称FRP)

3.1 概念

把函数范式里的一套思路和响应式编程结合

FRP能让你的代码像数学一样简洁,业务像流水一样清晰流畅。

3.2 特性

3.3 事例

Rxjava

4 Rxjava是什么

4.1 概念

Rxjava 是 观察者模式的扩展。

Rxjava 是 Reactive Extensions 的 java 实现,用于通过使用Observable/Flowable 序列来构建异步和基于事件的程序的库。

Rx 是 Reactive Extensions 的 缩写,是一个函数库。Rx = Observables + LINQ + Schedulers

4.2 优点

(1)使用观察者模式。

(2)简化代码。