什么是响应式编程?

响应式编程是一种通过异步和数据流来构建事物关系的编程模型 。这里每个词都很重要 , “事物的关系”是响应式编程的核心理念 , “数据流”和“异步”是实现这个核心理念的关键 。为了帮助大家理解这个概念 , 我们不妨以App初始化业务为例来拆解一下这几个词 。
这是一个比较理想化的APP初始化逻辑 , 完成SDK初始化 , 数据库初始化 , 登陆 , 之后跳转主界面 。下面小编仔细给大家说一下 。

什么是响应式编程?

文章插图
事物的关系
是一个十分宽泛的概念 , 它可以是一个变量 , 一个对象 , 一段代码 , 一段业务逻辑.....但实际上我们往往把事物理解成一段业务逻辑(下文你均可以将事物替换为业务逻辑来理解) , 比如上图中 , 事物就是指APP初始化中的四个业务逻辑 。
数据流
关于Rx的数据流有很多说法 。虽然我明白这只是想强调流的重要性 , 可是这些话折射出来的编程思路其实是很虚无缥缈的 , 只会让开发者对于Rx编程更加迷惑 。实际上 , 数据流只是事物之间沟通的桥梁 。
异步
异步编程本身是有很多优点的 , 比如挖掘多核心CPU的能力 , 提高效率 , 降低延迟和阻塞等等 。
但实际上 , 异步编程也给我们构建事物的关系提供了帮助 。
在APP初始化中 , 我们能发现SDK初始化 , 数据库初始化 , 登陆接口这三个业务本身相互独立 , 应当在不同的线程环境中执行 , 以保证他们不会相互阻塞 。而假如没有异步编程 , 我们可能只能在一个线程中顺序调用这三个相对耗时较多的业务 , 最终再去做页面跳转 , 这样做不仅没有忠实反映业务本来的关系 , 而且会让你的程序“反应”更慢 。
小结
【什么是响应式编程?】总的来说 , 异步和数据流都是为了正确的构建事物的关系而存在的 。只不过 , 异步是为了区分出无关的事物 , 而数据流(事件流)是为了联系起有关的事物 。
易点科技成立于2009年 , 一直专注于IT顾问咨询、信息平台系统开发、企业网络方案解决与运营 。服务内容包含pc+手机响应网站建设、B2C购物商城定制开发、微信公众号定制开发、企业管理小型系统定制开发 。




    推荐阅读