【响应式编程的思维艺术】 (1)Rxjs专题学习计划
我的github主页:https://github.com/dashnowords
我的新书上架啦,3天即登京东计算机编程语言类排行榜Top1!!!精选30+JavaScript库,从使用方式,设计原则,原理源码,周边知识等等多维度详细讲解,带你玩转前端花花世界,欢迎选购~
一. 响应式编程
响应式编程,也称为流式编程,对于非前端工程师来说,可能并不是一个陌生的名词,它是函数式编程在软件开发中应用的延伸,如果你对函数式编程还没有一些感性的认知,那么建议你先阅读我曾经写过的一篇入门文章【javascript基础修炼(8)——指向FP世界的箭头函数】,先理解一下函数式编程的基本思想以及在javascript
语言中应用。
响应式编程和函数式编程的思想非常棒,它带给开发者对于编程行为不同角度的理解,当你习惯了“一切皆对象”的思维方式后,换一种“一切皆流”的视角是一件非常有意思的事情,代码以一种陌生却有趣的方式组合在一起,但是它依然能够正常工作,而且更容易让开发者看到一系列处理逻辑的全貌,而暂时忽略其实现细节,编程的实际体验和使用underscore
或lodash
的工具函数之间的嵌套或链式调用(尤其是lodash
的FP模式非常相似)。
至于响应式编程和面向对象编程之间优劣的对比,个人认为没有什么实际意义,它们并不是只能二选一的对立项(比如Angular
技术栈中两者就是并存的),能够在恰当的场景使用合适的方式才更重要,相比于面向对象编程的严谨和复杂,响应式编程更容易让人体会到编程的灵动和乐趣。
二. 学习路径规划
学习该教程需要一定函数式编程基础,笔者自己认为的难点将通过系列博文来记录。
由于Angular
技术栈的学习,笔者需要在原来函数式编程知识的基础上,学习Rxjs
的使用。笔者在SegmentFault社区发现了一个非常高质量的【Rxjs 响应式编程】系列教程共6篇,从基础概念到实际应用讲解的非常详细,有大量直观的大理石图来辅助理解流的处理,对培养响应式编程的思维方式有很大帮助。笔者将通过系列博文对学习中的疑惑和收获及原文中的示例代码细节进行讲解。对此感兴趣的读者也可以先睹为快,也非常欢迎在我的底盘讨论与此相关的问题和疑惑: