响应式编程(Reactive Programming) 是一种技术 各自表述 基于观察者模型 提供了非阻塞、异步的特性 通常带有函数式思想,用来简化面向对象语法的臃肿。 核心在于Reactive,带有部分Functional的特性。 价值在于: 1.易于编写维护(特别是异步编程) 2.及时响应(不管出现时什么问题、网络抖动、bug、断电等都能及时作出响应,提供足够的可用性) 响应式编程的思想是企图用某种方式能够构建关系,而不是执行某种赋值命令。 (Rx是响应式拓展,是支持响应式编程的一种拓展,为响应式在不同语言中的实现提供指导思想。) 响应式编程是一种通过异步和数据流来构建事务关系的编程模型。 事物的关系是响应式编程的核心,异步和数据流是实现核心理念的关键。 数据流只是事务之间沟通的桥梁,上游的业务在自己工作完成之后,需要通知下游, 通知下游的方式有很多种,其中最棒的就是通过数据(事件)流。每一条业务完成之后 都会有一条数据流向下游,下游收到这条数据才开始工作。 小结: 异步是为了区分无关的事务,而数据流(事件流)是为了联系有关的事务。