W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
函數(shù)式反應(yīng)型編程指的是兩個(gè)聲明式編程的子范例(函數(shù)式+反應(yīng)式)的組合。現(xiàn)在w3cschool小編先帶大家來理解一下反應(yīng)式編程,因?yàn)樗钦麄€(gè)編程最基礎(chǔ)的也是最簡單的!
反應(yīng)式編程在表處理方面十分強(qiáng)悍。假設(shè)我們有一個(gè)表格A:她是用來紀(jì)錄其他兩個(gè)表格(表格B、表格C)的和。當(dāng)表格B或C當(dāng)中任意一個(gè)值發(fā)現(xiàn)變化時(shí),這些變化都會(huì)通過表實(shí)時(shí)改變表格A的值??傊覀兌x好了A是B和C的和,不管發(fā)生了什么,A會(huì)一直響應(yīng)B或C的變化,永遠(yuǎn)都是B與C的和。
接下來我們來定義函數(shù)式編程。說實(shí)話很難準(zhǔn)確定義它。任何試圖通過Google這個(gè)詞來了解它的人都會(huì)得到這樣一個(gè)答案:函數(shù)范式是一個(gè)框架,可以用來構(gòu)建我們的程序。函數(shù)式編程的核心是:在你的開發(fā)語言中函數(shù)本身是一個(gè)對象,且是所有類對象中的一等公民。
函數(shù)式編程中,對于同樣的輸入,一個(gè)函數(shù)f始終會(huì)給出同樣的輸出,不存在'可變的狀態(tài)'。這聽起來有點(diǎn)不可思議,我們可都是依靠狀態(tài)的多變性來編寫程序啊。在這個(gè)給變量賦值之后就不可以重新賦值的世界里,想想都覺得不可思議。函數(shù)式編程在很多方面顯得不太實(shí)用。很多編程涉及到用戶的輸入、網(wǎng)絡(luò)輸入/輸出等等,都不太容易使用函數(shù)范式來構(gòu)建。這也是為什么函數(shù)式編程作為函數(shù)式反應(yīng)型編程的一部分而出現(xiàn)的原因。因?yàn)楹瘮?shù)式反應(yīng)型編程是命令行編程與函數(shù)式編程兩者相互妥協(xié)的最佳平衡點(diǎn)。她讓我們有魚與熊掌兼得的意思。
函數(shù)式反應(yīng)型編程在處理用戶輸入時(shí),就像是隨著時(shí)間的改變而改變其結(jié)果的函數(shù)。有鑒于此,前面我們談到的函數(shù)f,被假定為輸入相同的參數(shù)就會(huì)返回一樣的值,但如果參數(shù)是時(shí)間,則f就不會(huì)返回相同的值,因?yàn)闀r(shí)間一直在變化。這是一種‘欺騙’行為,但請記住,我們正在構(gòu)建一個(gè)框架,在這個(gè)框架里面,我們都被允許實(shí)施這種'欺騙'行為,這就是函數(shù)式反應(yīng)型編程。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: