命令式编程
平时常用的编程模式。比如先申明变量,然后进行赋值,让两个变量相加,得到结果。
然后修改这2个变量的之后,sum的值是不会变化的。
int a, b, sum;
a = 3;
b = 4;
sum = a + b;
a = 6;
b = 7;
System.out.println(sum);
响应式编程
是一种声明式编程范型。
比如,在Excel里,C单元格上设置函数SUM(A+B),当你改变单元格A或者单元格B的数值时,单元格C的值也会发生变化。这种行为就是Reactive。
The Reactive Manifestohttps://www.reactivemanifesto.org/以上是大名鼎鼎的响应式宣言,它于 2014 年发表,响应式宣言是一份构建现代云扩展架构的处方。
代码的话,可以用 projectreactor.io的reactor库简单演示下:
Gradle 5.0+
dependencies {
// import BOM
implementation platform('io.projectreactor:reactor-bom:2023.0.3')
// add dependencies without a version number
implementation 'io.projectreactor:reactor-core'
}
Java代码
import reactor.core.publisher.FluxProcessor;
import reactor.core.publisher.UnicastProcessor;
public class Reactor01 {
public static void main(String[] args) {
FluxProcessor<Integer, Integer> publisher = UnicastProcessor.create();
publisher.doOnNext( event -> System.out.println("receive event: " + event)).subscribe();
publisher.onNext(1);
publisher.onNext(2);
}
}