大小:20.41M
更新时间:23-09-14
系统:Pc
函数式编程思维是一本编程语言思维指导书,由美国程序员Neal Ford编著。本书主要讲解了在各种编程语言中函数式编程的普及趋势和详细编程方法,说明使用函数式思维来编程开发的益处,并附以实例,让读者接受并了解这种全新的编程方法,最后再使用和掌握这种全新的更方便更易于记忆的编程方法,适合所有程序员和编程爱好者阅读。
《函数式编程思维》脱离特定的语言特性,关注各种OOP语言的共同实践做法,展示如何通过函数式语言解决问题。例如,如何利用函数式语言,通过高阶函数、多元方法等完成代码重用。知名软件架构师Neal Ford为我们展示不同的编程范式,帮我们完成从Java命令式编程人员,到使用Java、Clojure、Scala函数式编程人员的完美转变,建立对函数式语言的语法和语义的良好理解。
译者序 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
1、下载并解压,得出pdf文件
2、如果打不开本文件,请务必下载pdf阅读器
3、安装后,在打开解压得出的pdf文件
4、双击进行阅读
应用信息
同类热门
热门标签
网友评论0人参与,0条评论
最新排行
自考计算机应用基础全真模拟考试系统7.73M 自考计算机应用基础全真模拟考试系统是由科慧尔软件推出的一款专门为广大自考考生提供的计算机应用基础练习软件,本软件依据全国高等教育自学考试《计算机应用基础(课程代码(00018/00019)》考试大纲研制而成。软件具有自动计时、随机抽题、全真模拟、精
查看
星空教务办公系统电脑版6.26Mv8.16.1508 星空教务办公系统电脑版是由星空软件专为中小学教务办公设计的一款教务办公系统工具,该软件能统计分析单班学生成绩,能打印学生登分名册,能综合统计分析多班学生成绩,能进行多班混合组考,能按学生性别和名科成绩精准分班,基本在教务日常中的需求都能够得到满足,
查看
oracle dba手记2数据库诊断案例与内部恢复实践34.8M盖国强pdf扫描版 oracle dba手记2是一本Oracle诊断案例和案例实践指南,全称叫做oracle dba手记2数据库诊断案例与内部恢复实践,是由数据库技术专家盖国强和爱好者崔华合著而成,集合了各行业DBA的工作经验与思考,包含了精心挑选的数据库诊断案例与数
查看
android安全技术揭秘与防范41.3M周圣韬pdf扫描版 android安全技术揭秘与防范是一本Android系统安全的核心技术书籍,由Android系统安全专家周圣韬编著。本书由浅入深,全面分析了Android 中5个层级的不同攻击与防御方式,全面涵盖了Android系统安全的核心技术:Root安全、键
查看
企业APP设计运营完全手册31.75M徐声远 pdf扫描版 企业APP设计运营完全手册是一本企业APP设计运营书籍,由Bri体验科技联合创始人徐声远编写。全书汇集了作者数年的研究和实战经验,系统分析了企业APP的具体操作过程,应注意的方法和技巧。读者通过读完此书,能够重新审视自己或竞争对手发布的App,重新
查看
unity3d脚本编程 使用c语言开发跨平台游戏56.09M陈嘉栋pdf扫描版unity3d脚本编程 使用c语言开发跨平台游戏是一本Unity 3D脚本编程书籍,由陈嘉栋编著。本书内容丰富翔实,以Unity 3D的跨平台基础Mono及其游戏脚本语言C#为基础进行讲解,全面系统地剖析了Unity 3D的跨平台原理以及游戏脚本开发的特
查看
actionscript大型网页游戏开发23.91Mactionscript大型网页游戏开发是一本pdf高清扫描版的电子图书,作者:jobe makar,李鑫、马舜翻译。全书阐述了多人网页游戏的许多基本概念,以及如何使用actionscript将其实施到项目中,读完本书,读者将掌握:如何连接用户来实现实时
查看