会员   密码 您忘记密码了吗?
1,575,267 本书已上架      购物流程 | 常见问题 | 联系我们 | 关于我们 | 用户协议

有店 App


当前分类

商品分类

当前位置: 首页 > 简体书 > 函數式編程思維
函數式編程思維
上一张
下一张
prev next

函數式編程思維

作者: (美)NEAL FORD
出版社: 人民郵電出版社
出版日期: 2015-08-01
商品库存: 点击查询库存
以上库存为海外库存属流动性。
可选择“空运”或“海运”配送,空运费每件商品是RM14。
配送时间:空运约8~12个工作天,海运约30个工作天。
(以上预计配送时间不包括出版社库存不足需调货及尚未出版的新品)
定价:   NT294.00
市场价格: RM52.85
本店售价: RM47.04
促销价: RM46.51
剩余时间: 请稍等, 正在载入中...
购买数量:
collect Add to cart Add booking
详细介绍 商品属性 商品标记
內容簡介

福特、郭曉剛編寫的《函數式編程思維》脫離特 定的語言特性,關注各種OOP語言的共同實踐做法, 展示如何通過函數式編程解決問題。知名軟體架構師 Neal Ford展示了不同的編程範式,幫助我們完成從 Java命令式編程人員,到使用Java、Clojure、 Scala的函數式編程人員的完美轉變,建立對函數式 語言的語法和語義的良好理解。 本書適合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顯示全部資訊