什麼是響應式編程?

響應式編程是一種通過異步和數據流來構建事物關係的編程模型。這裡每個詞都很重要,“事物的關係”是響應式編程的核心理念,“數據流”和“異步”是實現這個核心理念的關鍵。為了幫助大家理解這個概念,我們不妨以APP初始化業務為例來拆解一下這幾個詞。

這是一個比較理想化的APP初始化邏輯,完成SDK初始化,數據庫初始化,登陸,之後跳轉主界面。下面小編仔細給大家說一下。


什麼是響應式編程?

響應式編程

事物的關係

是一個十分寬泛的概念,它可以是一個變量,一個對象,一段代碼,一段業務邏輯.....但實際上我們往往把事物理解成一段業務邏輯(下文你均可以將事物替換為業務邏輯來理解),比如上圖中,事物就是指APP初始化中的四個業務邏輯。

數據流

關於Rx的數據流有很多說法。雖然我明白這只是想強調流的重要性,可是這些話折射出來的編程思路其實是很虛無縹緲的,只會讓開發者對於Rx編程更加迷惑。實際上,數據流只是事物之間溝通的橋樑。

異步

異步編程本身是有很多優點的,比如挖掘多核心CPU的能力,提高效率,降低延遲和阻塞等等。

但實際上,異步編程也給我們構建事物的關係提供了幫助。

在APP初始化中,我們能發現SDK初始化,數據庫初始化,登陸接口這三個業務本身相互獨立,應當在不同的線程環境中執行,以保證他們不會相互阻塞。而假如沒有異步編程,我們可能只能在一個線程中順序調用這三個相對耗時較多的業務,最終再去做頁面跳轉,這樣做不僅沒有忠實反映業務本來的關係,而且會讓你的程序“反應”更慢。

小結

總的來說,異步和數據流都是為了正確的構建事物的關係而存在的。只不過,異步是為了區分出無關的事物,而數據流(事件流)是為了聯繫起有關的事物。

易點科技成立於2009年,一直專注於IT顧問諮詢、信息平臺系統開發、企業網絡方案解決與運營。服務內容包含pc+手機響應網站建設、B2C購物商城定製開發、微信公眾號定製開發、企業管理小型系統定製開發。


分享到:


相關文章: