编程范式:响应式编程


 响应式编程是一种面向数据流和变化传播的编程范式。这意味着可以在编程语言中很方便地表达静态或动态的数据流,而相关的计算模型会自动将变化的值通过数据流进行传播。
例如,在命令式编程环境中,a:=b+c表示将表达式的结果赋给a,而之后改变b或c的值不会影响a。但在响应式编程中,a的值会随着b或c的更新而更新。
  Event buses或者Click events本质上就是异步事件流(Asynchronous event stream),你可以监听并处理这些事件;任何一个东西我们都可以把他们当成一个stream;而在RP中,stream充当了我们的被观察对象,我们对stream的操作表示一个observable(观察者),监听一个stream表示subscribing(订阅);
  在响应式编程中我们在订阅数据流的过程中,数据流的的变更会主动推送给订阅者,在这个过程中订阅者无需等待,程序也不会发生阻塞;
 
  Rx = Observables(被观察者) + LINQ + Scheduler(调度器)
 
  RxJS提供一个核心类型被观察者Observable和操作者operators (如map, filter, reduce, every,等)来实现将异步事件作为集合来进行处理。 
 
应用场景:
~ 响应式编程在交互比较强的场景中,可以降低开发的复杂度,优势非常明显。
原文地址:https://www.cnblogs.com/monion/p/6110749.html