RxJava概敘,RxJava

來源:互聯網
上載者:User

RxJava概敘,RxJava

給Android開發人員的 RxJava 詳解:http://gank.io/post/560e15be2dca930e00da1083

 

響應式編程是一種非同步資料流互動的編程範式,而RxJava就是基於事件操作非同步資料流在Java上實現的庫
核心的理念是將一切都當做資料流來看待,各種變數,使用者輸入,資料結構,緩衝等等
而Rx庫提供了高度抽象的函數來操作流,建立、流入流出、過濾、合并、映射等等各種變換
不僅如此,Rx庫還使得非同步作業,和錯誤處理變得非常簡潔。


使用了RxJava後明顯的好處就是
1解決了回調地獄(就是很多層的回調嵌套)的困擾
2切換線程變得方便
3配合Java8的新特性Retrolambda,代碼會進一步簡潔
更深層次的優勢是,加深代碼的抽象,使得我們更專註於商務邏輯而不是具體實現細節
並且事件驅動型的系統可以解耦成多個組件,使代碼具有更好的擴充性和容錯性


但是也有一些難處
1要用好響應式編程,就得訓練好基於流的編程思維,而這與過去有著較大的差異
這會導致重構過去的代碼難度較大,以及常常會因為思維轉變得不純粹而寫出“半成品”
2由於Rx庫的操作符高度抽象,使用是很方便但深入理解的成本會很高
3由於Rx庫很抽象,很年輕,使用時會有許多需要留意的坑,加上Retrolambda會帶來一些效能上的影響

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.