函式式編程思維

函式式編程思維

《函式式編程思維》是人民郵電出版社出版的圖書,作者是[美] Neal Ford 。

基本介紹

  • 書名:函式式編程思維
  • ISBN:978-7-115-40041-3
  • 出版社:人民郵電出版社
出版信息,內容簡介,作者簡介,目錄,

出版信息

作者:[美] Neal Ford
出版社:人民郵電出版社
原作名:Functional Thinking
譯者:郭曉剛
出版年:2015-8
頁數:162
定價:49.00元
裝幀:平裝
ISBN:9787115400413

內容簡介

《函式式編程思維》脫離特定的語言特性,關注各種OOP語言的共同實踐做法,展示如何通過函式式語言解決問題。例如,如何利用函式式語言,通過高階函式、多元方法等完成代碼重用。知名軟體架構師Neal Ford為我們展示不同的編程範式,幫我們完成從Java命令式編程人員,到使用Java、Clojure、Scala函式式編程人員的完美轉變,建立對函式式語言的語法和語義的良好理解。

作者簡介

Neal Ford,在跨國IT諮詢公司ThoughtWorks擔任總監、軟體架構師和文化基因傳播人。他精通各種程式語言,主要的諮詢業務是大規模企業套用的設計、構建和工程實踐。他還是一位國際知名的講師,登上過全世界各種開發者會議的講台。

目錄

譯者序 ix
前言 xi
第1 章 為什麼 1
1.1 範式轉變 2
1.2 跟上語言發展的潮流 4
1.3 把控制權讓渡給語言/ 運行時 4
1.4 簡潔 5
第2 章 轉變思維 9
2.1 普通的例子 9
2.1.1 命令式解法 9
2.1.2 函式式解法 10
2.2 案例研究:完美數的分類問題 15
2.2.1 完美數分類的命令式解法 15
2.2.2 稍微向函式式靠攏的完美數分類解法 16
2.2.3 完美數分類的Java 8 實現 18
2.2.4 完美數分類的Functional Java 實現 19
2.3 具有普遍意義的基本構造單元 21
2.3.1 篩選 22
2.3.2 映射 23
2.3.3 摺疊/ 化約 25
2.4 函式的同義異名問題 28
2.4.1 篩選 28
2.4.2 映射 31
2.4.3 摺疊/ 化約 33
第3 章 權責讓渡 37
3.1 疊代讓位於高階函式 37
3.2 閉包 38
3.3 柯里化和函式的部分施用 41
3.3.1 定義與辨析 41
3.3.2 Groovy 的情況 42
3.3.3 Clojure 的情況 44
3.3.4 Scala 的情況 44
3.3.5 一般用途 47
3.4 遞歸 48
3.5 Stream 和作業順序重排 53
第4 章 用巧不用蠻 55
4.1 記憶 55
4.1.1 快取 56
4.1.2 引入“記憶” 59
4.2 緩求值 65
4.2.1 Java 語言下的緩求值疊代子 65
4.2.2 使用Totally Lazy 框架的完美數分類實現 67
4.2.3 Groovy 語言的緩求值列表 69
4.2.4 構造緩求值列表 72
4.2.5 緩求值的好處 74
4.2.6 緩求值的欄位初始化 76
第5 章 演化的語言 79
5.1 少量的數據結構搭配大量的操作 79
5.2 讓語言去迎合問題 81
5.3 對分發機制的再思考 82
5.3.1 Groovy 對分發機制的改進82
5.3.2 “身段柔軟”的Clojure 語言 83
5.3.3 Clojure 的多重方法和基於任意特徵的多態 85
5.4 運算符重載 87
5.4.1 Groovy 87
5.4.2 Scala 89
5.5 函式式的數據結構 91
5.5.1 函式式的錯誤處理 91
5.5.2 Either 類 92
5.5.3 Option 類 100
5.5.4 Either 樹和模式匹配 100
第6 章 模式與重用 107
6.1 函式式語言中的設計模式 107
6.2 函式級別的重用 108
6.2.1 Template Method 模式 109
6.2.2 Strategy 模式 111
6.2.3 Flyweight 模式和記憶 113
6.2.4 Factory 模式和柯里化 116
6.3 結構化重用和函式式重用的對比 117
第7 章 現實套用 125
7.1 Java 8 125
7.1.1 函式式接口 126
7.1.2 Optional 類型 128
7.1.3 Java 8 的stream 128
7.2 函式式的基礎設施 129
7.2.1 架構 129
7.2.2 Web 框架 132
7.2.3 資料庫 133
第8 章 多語言與多範式 135
8.1 函式式與元編程的結合 136
8.2 利用元編程在數據類型之間建立映射 137
8.3 多範式語言的後顧之憂 140
8.4 上下文型抽象與複合型抽象的對比 141
8.5 函式式金字塔 143
作者簡介 147
封面介紹 147

相關詞條

熱門詞條

聯絡我們