引言 - 1

本文是函數(shù)式Swift的讀書筆記,為了備忘(明明學的時候理解了,學完過一段時間就忘了,如果回頭再看看,會有蠻大的收獲,所以寫讀書筆記)

1.函數(shù)式編程的特點:

很難給函數(shù)式編程一個準確的定義,設計良好的Swift函數(shù)式程序具有一些特質(zhì)

  • 模塊化:函數(shù)式開發(fā)者更傾向于強調(diào)每個程序都能夠被反復分解為越來越小的模塊單元,而所有這些塊可以通過函數(shù)裝配起來,以定義一個完整的程序
  • 對可變狀態(tài)的謹慎處理:函數(shù)式編程有時候 (被半開玩笑地) 稱為“面向值編程”。面向?qū)ο缶幊虒W⒂陬惡蛯ο蟮脑O計,每個類和對象都有它們自己的封裝狀態(tài)。然而,函數(shù)式編程強調(diào)基于值編程的重要性,這能使我們免受可變狀態(tài)或其他一些副作用的困擾。
  • 類型: 最后,一個設計良好的函數(shù)式程序在使用類型時應該相當謹慎。精心選擇你的數(shù)據(jù)和函數(shù)的類型
2. 面向?qū)ο?vs 函數(shù)式編程
  • 面向?qū)ο髲娬{(diào)的是將與某數(shù)據(jù)類型相關(guān)的一系列操作都封裝到該數(shù)據(jù)類型中去,因此,在數(shù)據(jù)類型中難免存在大量狀態(tài),以及相關(guān)的行為。雖然這很符合人類的邏輯直覺,但是當類型關(guān)系變得錯綜復雜的時候,類型中狀態(tài)的改變和類型之間彼此的繼承和依賴將使程序的復雜度幾何上升。

  • 避免使用程序狀態(tài)和可變對象,是降低程序復雜度的有效方式之一,而這也正是函數(shù)式編程的精髓。我們先構(gòu)建一系列簡單卻具有一定功能的小函數(shù),然后再將這些函數(shù)進行組裝以實現(xiàn)完整的邏輯和復雜的運算,這是函數(shù)式編程的基本思想。

3. 本書介紹

最純粹的函數(shù)式編程語言是 Haskell,但是國內(nèi)用的人特別少?!癝wift 是一門有著合適的語言特性來適配函數(shù)式編程方法的優(yōu)秀語言”

本書的2-10章介紹函數(shù)式編程的基本概念。
10-12章是進階內(nèi)容。

4. 看書的感謝

感覺像是發(fā)現(xiàn)了新大陸,開始有點難以理解,慢慢發(fā)現(xiàn) 函數(shù)式的編程范式 也不錯。為以后學習RXSwift打基礎(chǔ)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • Swift的編程范式 編程范式是程序語言背后的思想。代表了程序語言的設計者認為程序應該如何被構(gòu)建和執(zhí)行。常見的編程...
    Bobby0322閱讀 2,680評論 4 43
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,222評論 4 61
  • One 在一個尋常的夜晚,二把刀盛裝站在女生宿舍樓下大喊站在學校破爛的宿舍樓下,仰望著樓上,大聲呼喊心愛人的名字,...
    暖心手繪心理課閱讀 981評論 1 8
  • 01 初入大學的你. 經(jīng)歷過高考的洗禮,我們已成功邁進大學之門,帶著那份稚嫩與好奇去追尋向往大學生活。然而...
    木子X木木閱讀 367評論 0 2

友情鏈接更多精彩內(nèi)容