响应式编程
相当于数据驱动。
要点:
1)基于状态(变化);vs 基于用户事件;(主动与被动)。
2)订阅发布机制;
3)关联状态的一致性需要优先保障。
RxJava Observable类源自于Gang of Four的观察者模式。但有高于观察者模式:
- 生产者在没有数据产生时发出通知:onComplete()
- 生产者发生错误时发出通知:onError()
- RxJava的Observable能够组合而不是嵌套,从而避免回调地狱
在传统的命令式编程中,如表达式a=b+c。即把b的值和c的值相加之后,赋值给a之后,不管b和c如果变化都不会影响a;但是,在响应式的世界里,a的值会随着b的值或c的值变化而变化。
亦即,响应式可以将相关模型的变化直接反应到视图上。
我思故我在