对响应式编程的一些理解
响应式编程是一种通过数据流和异步来构建事物关系的编程模型。
事物关系:对应于日常开发中不同业务之间的关系。
数据流:在响应式编程中就是不同业务中沟通的桥梁,对应于不同业务事件流。
异步:异步编程可以更加高效的发挥cpu性能,区别于数据流的是,异步更趋向于区分业务的无关行,数据流则是联系起相关的业务。
举一个实际的例子:
一般App初始化的时候会有sdk的初始化,数据库初始化,然后做页面跳转。
在这个例子中,事物对应于sdk的初始化和数据库的初始化两种业务。数据流是初始化完成后通过事件通知页面做跳转逻辑(在具体的场景中也包括业务之间的相互通知),异步则是为了更好的用户体验,将sdk和数据库的初始化放到不同线程中进行。
总的来说,异步和数据流都是为了正确的构建事物的关系而存在的。只不过,异步是为了区分出无关的事物,而数据流(事件流)是为了联系起有关的事物。
为什么要采用响应式编程
随着项目业务越来越多,不同业务之间的交叉会越来越多,如果还采用以前的方式,业务直接互相依赖,互相耦合,代码会越来越难维护,代码读写都会有很大的难度,响应式编程很好的解决了这个问题,在代码层面做到了业务分离。提高了代码的抽象高度。