大小: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条评论
最新排行
建筑施工计算手册第五版174.2Mpdf中文完整版 建筑施工计算手册是一本pdf中文完整版的高清电子书籍,由江正荣编著,包括了建筑施工计算手册第五版和建筑施工计算手册完整版,其中完整版全书共22章,详细的讲述了土方,爆破,支护,排降水,地基与基础,砌体与墙体,脚手架,模板,钢筋,混凝土,大体积混凝土
查看
网页开发手记HTML+CSS+JavaScript实战详解57.15M叶青pdf扫描版 网页开发手记HTML+CSS+JavaScript实战详解是一本非常网站开发建设实战手册,由叶青、孙亚南、孙泽军编著。本书内容丰富翔实,循序渐进的讲述了网页制作技术从基本概念到HTML页面制作,CSS样式控制、javaScrinpt程序的动态行为和
查看
精通spring 4.x企业应用开发实战178.94M陈雄华pdf扫描版 精通spring 4.x企业应用开发实战是一本Spring技术开发实战手册,由Spring专家陈雄华编著。本书内容丰富,深入浅出,作者对Spring的源码进行了彻底分析,深刻揭示了Spring框架的技术内幕,让读者知其然,更知其所以然。Spring
查看
精通linux内核网络98.5Mpdf扫描版 精通linux内核网络是一本linux内核网络学习书籍,由以色列人Rami Rosen编著。全书从网络开发者视角讲解,详细介绍了linux内核网络栈的实现及其原理,并且配合清晰的图表,深入而详尽的分析了网络子系统架构和Linux内核网络子系统的内部
查看
尼康d800使用说明书21.81Mpdf电子版尼康d800说明书是尼康官方针对尼康d800单反相机而开发的使用说明书,同时适用于d800和d800e,详细的介绍了相机的使用方法,包括如何快速开始指南,即时取景拍摄,动画即时取景,对焦,释放模式,iso感光度,曝光,白平衡,图像增强,闪光拍摄等等重要知
查看
HTML5&CSS完全手册(第5版)54.7Mpdf扫描版 HTML5&CSS完全手册(第5版)是一本文件绍html5和css使用的操作手册,由美国程序员鲍威尔编著。全书内容丰富翔实,经过全新的改写与编排向大家全面介绍了html5,涵盖了目前web浏览器支持的所有元素,从标准的(x)html标记到您
查看
mariadb入门很简单77.98M黄缙华pdf扫描版mariadb入门很简单是一本内容极其全面的MariaDB图书,由数据库专家黄缙华编著。全书浅显易懂,零门槛也能学习MariaDB数据库技术,全书包含402个示例、17个综合实例、1个项目案例、48个常见问题解答、19个上机实践、69个习题,涉及面极广,
查看
python程序设计教程76.13M江红/余青松pdf扫描版 pythony语言是一种解释型、面向对象的计算机程序设计语言,能够广泛用于计算机程序设计教学语言,系统管理编程脚本语言,科学计算等。但如何才能从入门到精通呢?这里小编特别提供python程序设计教程 pdf下载,由江红、余青松编著,清华大学和北京交通
查看
Scala程序设计(第2版)14.25M万普勒 pdf扫描版 Scala程序设计(第2版)是一本Scala程序设计书籍,由大数据产品架构师万普勒和佩恩两人共同编著,王渊,陈明共同翻译。本书通过大量的代码示例,全面介绍Scala这门针对JVM的编程语言,向读者展示了如何高效地利用Scala语言及其生态系统,同时
查看