響應(yīng)式編程是一種基于異步數(shù)據(jù)流概念的編程模式。數(shù)據(jù)流就像一條河:它可以被觀測,被過濾,被操作,或者為新的消費(fèi)者與另外一條流合并為一條新的流。
響應(yīng)式編程的一個(gè)關(guān)鍵概念是事件。事件可以被等待,可以觸發(fā)過程,也可以觸發(fā)其它事件。事件是唯一的以合適的方式將我們的現(xiàn)實(shí)世界映射到我們的軟件中:如果屋里太熱了我們就打開一扇窗戶。同樣的,當(dāng)我們更改電子表(變化的傳播)中的一些數(shù)值時(shí),我們需要更新整個(gè)表格或者我們的機(jī)器人碰到墻時(shí)會轉(zhuǎn)彎(響應(yīng)事件)。
今天,響應(yīng)式編程最通用的一個(gè)場景是UI:我們的移動App必須做出對網(wǎng)絡(luò)調(diào)用、用戶觸摸輸入和系統(tǒng)彈框的響應(yīng)。在這個(gè)世界上,軟件之所以是事件驅(qū)動并響應(yīng)的是因?yàn)楝F(xiàn)實(shí)生活也是如此。