学习响应式编程 Reactor (1)
响应式编程 命令式编程(Imperative Programing),是一种描述计算机所需做出的行为的编程范式。详细的命令机器怎么(How)去处理以达到想要的结果(What)。 声明式编程(Declarative Programing),是一种编程范式,与命令式编程相对立。它描述目标的性质,让计算机明白目标,而非流程。只告诉机器想要的结果(What),机器自己摸索过程(How)。 响应式编程(Reactive Programing)是一种关注数据流(data streams)和变化传递(propagation of charge)的异步编程方式,它属于声明式编程范式。 上面的文字理论性比较强,说的直白一点: 数据流就像一条河:它可以被观测,被过滤,被操作(和 Java Stream 一致),或者为新的消费者与另外一条流合并为一条新的流。 响应式编程的一个关键概念是事件。事件可以被等待,可以触发过程,也可以除法其它事件。事件是唯一以合适的方式将我们的现实世界映射到我们的软件中:如果屋里太热了,我们就打开一扇窗。 同样的,当我们的天气 app 从服务器端获取到新的天气数据后,我们需要更新 app 上展示天气的 UI ;汽车上的车道偏移系统探测到车辆偏移了正常路线就会提醒驾驶者纠正;这些就是响应事件。 响应式编程可以理解为面向对象中观察者模式(Observer Design