函數式設計:原則、模式與實踐 Functional Design: Principles, Patterns, and Practices
Robert C. Martin 譯 吾真本//姚琪琳//覃宇
- 出版商: 機械工業
- 出版日期: 2024-07-09
- 售價: $654
- 貴賓價: 9.5 折 $621
- 語言: 簡體中文
- 頁數: 246
- 裝訂: 平裝
- ISBN: 7111757815
- ISBN-13: 9787111757818
- 此書翻譯自: Functional Design: Principles, Patterns, and Practices (Paperback)
立即出貨
買這商品的人也買了...
-
$450$356 -
$480$379 -
$474$450 -
$1,280$1,088 -
$680$578 -
$834$792 -
$594$564 -
$580$458 -
$880$695 -
$654$621 -
$539$512 -
$680$476 -
$779$740 -
$620$489 -
$580$458 -
$880$695 -
$1,000$790 -
$720$562 -
$454LangChain 實戰派:大語言模型 + LangChain + 向量數據庫
-
$551分佈式系統實戰派 — 從簡單系統到復雜系統
-
$480$379 -
$354$336 -
$680$537 -
$380$300 -
$580$458
商品描述
在本書中,著名軟件工程師羅伯特·C. 馬丁(Robert C. Martin,"鮑勃大叔")
解釋瞭如何以及為什麼使用函數式程式設計為真實客戶建立更好的系統。
作者將 Java 中傳統的物件導向編碼結構與函數式語言所支援的編碼結構進行了比較,
確定了每種結構的最佳作用,並展示瞭如何在特定環境中明智地使用這些結構來建立更好的系統。
作者簡介
羅伯特·C.馬丁(Robert C.Martin),世界級軟件開發大師,設計模式和敏捷開發先驅,敏捷聯盟首任主席,C++ Report雜志前主編。他從20世紀70年代起就是一名程序員,被後輩程序員尊稱為“鮑勃大叔”(Uncle Bob)。 他是Clean Coders網站的創始人,這個網站為軟件開發者提供在線視頻培訓。他也是“鮑勃大叔咨詢公司”(Uncle Bob Consulting LLC)的創始人,這家公司為世界各地的大企業提供軟件咨詢、培訓和技能發展服務。 他的著作有《代碼整潔之道》《代碼整潔之道:程序員的職業素養》《敏捷整潔之道:回歸本源》《架構整潔之道》《敏捷軟件開發:原則、模式與實踐》等。
目錄大綱
目錄
題 獻
推薦序
譯者序
序
前 言
致 謝
作者簡介
第一部分 函數式基礎
第1章 不變性 2
1.1 什麼是函數式程式設計 3
1.2 賦值的問題 5
1.3 為什麼叫它「函數式」 7
1.4 沒有狀態改變嗎 8
1.5 不變性概念 11
第2章 持久性資料 12
2.1 關於瞞天過海 14
2.2 製作副本 14
2.3 結構共享 16
第3章 迭代與遞歸 19
3.1 迭代 20
3.1.1 極簡Clojure教學 20
3.1.2 迭代概述 22
3.1.3 TCO、Clojure和JVM 22
3.2 遞歸 23
第4章 惰性 26
4.1 惰性累積 28
4.2 為何需要惰性 28
4.3 尾聲 29
第5章 狀態性 30
5.1 何時必須「可變」 33
5.2 軟件事務內存 34
5.3 生活不易,軟件更難 36
第二部分 比較性分析
第6章 質因子練習 39
6.1 Java版 40
6.2 Clojure版 43
6.3 總結 45
第7章 保齡球練習 46
7.1 Java版 47
7.2 Clojure版 51
7.3 總結 54
第8章 八卦公共汽車司機練習 56
8.1 Java版 57
8.1.1 公共汽車司機文件 62
8.1.2 行車線路文件 62
8.1.3 公共汽車站文件 63
8.1.4 八卦故事文件 64
8.1.5 模擬過程文件 64
8.2 Clojure版 65
8.3 總結 69
第9章 物件導向程式設計 70
9.1 函數式薪資問題解決方案 72
9.2 命名空間與原始檔 78
9.3 總結 78
第10章 類型 80
第三部分 函數式設計
第11章 資料流 86
第12章 SOLID 92
12.1 單一職責原則 93
12.2 開閉原則 96
12.2.1 函數 97
12.2.2 有虛表的物件 98
12.2.3 多重方法 98
12.2.4 獨立部署 99
12.3 里氏替換原則 101
12.3.1 ISA原則 103
12.3.2 這不對 105
12.3.3 代表原則 106
12.4 接口隔離原則 106
12.4.1 不需要就別依賴 108
12.4.2 為什麼 108
12.4.3 總結 109
12.5 依賴倒置原則 109
12.5.1 回憶殺 111
12.5.2 違反依賴倒置原則 119
12.5.3 總結 129
第四部分 函數式實用主義
第13章 測試 132
13.1 REPL 133
13.2 Mock 133
13.3 基於性質的測試 134
13.4 診斷技術 137
13.5 函數式 143
第14章 GUI 144
第15章 並發性 155
第五部分 設計模式
第16章 設計模式回顧 165
16.1 函數式程式設計中的模式 167
16.2 抽象服務器模式 168
16.3 適配器模式 170
16.4 命令模式 174
16.5 組合模式 178
16.6 裝飾器模式 186
16.7 訪客模式 189
16.7.1 To Close or to Clojure 191
16.7.2 90°問題 193
16.8 抽象工廠模式 196
16.8.1 90°問題重現 199
16.8.2 型式安全嗎 201
16.9 總結 201
16.10 補充:物件導向是毒藥嗎 201
第六部分 案 例 研 究
第17章 Wa-Tor小遊戲 204
17.1 如鯠在喉 220
17.2 解決問題 222
17.3 讓魚瘋狂繁殖 230
17.4 對於鯊魚 231
17.5 總結 240
後記 242