[TOC] 一. 響應式編程 響應式編程,也稱為流式編程,對於非前端工程師來說,可能並不是一個陌生的名詞,它是 函數式編程 在軟體開發中應用的延伸,如果你對函數式編程還沒有一些感性的認知,那麼建議你先閱讀我曾經寫過的一篇入門文章 "【javascript基礎修煉(8)——指向FP世界的箭頭函數】" ...
目錄
一. 響應式編程
響應式編程,也稱為流式編程,對於非前端工程師來說,可能並不是一個陌生的名詞,它是函數式編程在軟體開發中應用的延伸,如果你對函數式編程還沒有一些感性的認知,那麼建議你先閱讀我曾經寫過的一篇入門文章【javascript基礎修煉(8)——指向FP世界的箭頭函數】,先理解一下函數式編程的基本思想以及在javascript
語言中應用。
響應式編程和函數式編程的思想非常棒,它帶給開發者對於編程行為不同角度的理解,當你習慣了“一切皆對象”的思維方式後,換一種“一切皆流”的視角是一件非常有意思的事情,代碼以一種陌生卻有趣的方式組合在一起,但是它依然能夠正常工作,而且更容易讓開發者看到一系列處理邏輯的全貌,而暫時忽略其實現細節,編程的實際體驗和使用underscore
或lodash
的工具函數之間的嵌套或鏈式調用(尤其是lodash
的FP模式非常相似)。
至於響應式編程和面向對象編程之間優劣的對比,個人認為沒有什麼實際意義,它們並不是只能二選一的對立項(比如Angular
技術棧中兩者就是並存的),能夠在恰當的場景使用合適的方式才更重要,相比於面向對象編程的嚴謹和複雜,響應式編程更容易讓人體會到編程的靈動和樂趣。
二. 學習路徑規劃
學習該教程需要一定函數式編程基礎,筆者自己認為的難點將通過系列博文來記錄。
由於Angular
技術棧的學習,筆者需要在原來函數式編程知識的基礎上,學習Rxjs
的使用。筆者在SegmentFault社區發現了一個非常高質量的【Rxjs 響應式編程】系列教程共6篇,從基礎概念到實際應用講解的非常詳細,有大量直觀的大理石圖來輔助理解流的處理,對培養響應式編程的思維方式有很大幫助。筆者將通過系列博文對學習中的疑惑和收穫及原文中的示例代碼細節進行講解。對此感興趣的讀者也可以先睹為快,也非常歡迎在我的底盤討論與此相關的問題和疑惑:
Rxjs 響應式編程-第五章 使用Schedulers管理時間
Rxjs 響應式編程-第六章 使用Cycle.js的響應式Web應用程式