响应式编程关注的是变化及其传播。
响应式编程的着重点在于响应,即对变化做出的反应。
它的要素有四个:
1、数据拥有方;
2、数据使用方;
3、传播机制;
4、传播(处理)链条。
响应式编程的特征:
是数据拥有方向外部传播数据的变更,还是数据使用方接收到数据变化信号后从数据提供方获取数据;
数据的流通是通过set激发传播,还是get激发获取;
数据的提供方push,还是数据的使用方pull;
数据的使用方是被动等待数据,还是主动获取数据。
数据是通过函数的参数链传播,还是通过函数的返回值返回;
数据传播所形成的函数栈是以数据提供方为基础构建,还是以数据使用方为基础构建。
响应式编程的计算结果:
响应式编程由自变量的变化触发因变量的计算,所以因变量任何时候的值都有自变量和算法决定;
其它的方式,因变量依赖与自变量的瞬间状态。
响应式编程与流式编程:
流式编程天然具有响应式编程的特征。
响应式编程的机制:
本质上是一种订阅发布机制。
响应式编程的本质是提供一种机制,在数据和信息发生变化时,数据提供方能够很容易的将变化发布出去。
通常这种机制有编程语言、运行环境、编译器等提供支撑。
响应式编程机制的案例:
1、订阅发布机制;
2、事件分发机制;
3、通知机制;
4、kvo机制。
5、通信的流机制。
响应式编程与函数式编程;
函数式编程天然具有响应式编程信息处理链的特征。
响应式编程的优点:
减少回路。