第四章 响应式编程
响应式编程是一种声明式编程。例如,Excel的单元格就是一个例子。单元格可以包含字面值或类似=B1+C1
的公式,而包含公式的单元格的值会依据其他单元格的值的变化而变化。因此,响应式编程的重点是考虑数据流的变化和传播。
概述
一个函数 $f(x)=x^2$ ,它可以由下图表示。
Code could not finish, this are some reasons why this happen.
- Plot name not defined. The first parameter of the shortcode is the name.
- There is a syntax error. check browser console.
也可以由下图表示。
----1----2----3----4----| > $f(x)=x^2$ ----A-----B-----C--D-----| A := 1 B := 4 C := 9 D := 16
一个是二维平面空间上的点,一个是一维时间上的事件。
计算机程序可以抽象成数据的流动。每次数据变换都是一个函数,可以视为一个"反应堆"(reactor)。数据在反应堆之间多次传递之后,就完成了从输入到输出的整个过程。
在数据流动过程中,有两种操作:
- 数据流动的形态和方向
- 数据本身的变化
目前,响应式编程的函数库或框架解决的是前者。例如将两个流合成一个流,例如将一个流变为另一个流。