大小: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条评论
最新排行
14j936变形缝建筑构造16.26Mpdf高清电子版 14j936变形缝建筑构造,又被用户俗称为14j936变形缝图集,是中国建筑标准设计研究院发布的一款实用图集,批准文号:建质函2014210号,统一编号GJBT-1285,实行日期2014年9月1日,适用于新建、改建、扩建的民用与工业建筑工程露明部
查看
Android开发精要17.08MAndroid开发精要是由资深Android专家范怀宇编著的一本Android开发手册,本书详细介绍了高度抽象Android系统的设计理念和底层实现机制,全面概括Android实现原理的“要点”和实际开发中的“精华”,为开发高质量Android应用提供指
查看
C#2012数据库编程入门经典(第5版)87.4Mpdf扫描版 C#2012数据库编程入门经典(第5版)是一本C#数据库编程入门书籍,由[美]阿加瓦尔Vidya,Vrat Agarwal著,沈刚,谭明红共同翻译。全书就是一本帮助具有C#语言基础的程序员快速掌握数据库编程知识的指南,包括了使用SQL Server
查看
openstack实战4.21MV.K.CodyBumgardner pdf扫描版 openstack实战是一本云计算和OpenStack软件生态的实战指导,由美国著名架构师V.K.CodyBumgardner编著。本书主要内容:开发和部署企业级私有云,从IT的角度来看私有云技术,自助型云计算对企业的影响,作者提供了真实环境使用案
查看
精通oracle sql 第2版93.15M 精通oracle sql 第2版是一本讲述清晰,可操作性强的Oracle SQL教程,由Oracle ACE与OakTable团队专家合力打造,主编为Karen Morton等人。全书主要介绍了如何掌握在Oracle数据库中实现的强大SQL特性,所
查看
学通ASP.NET的24堂课81.47M房大伟pdf扫描版 ASP.NET是微软公司推出的一款新一代动态web应用程序开发平台,具有方便性,灵活,性能优,生产效率高,安全性高等特性,是目前主流的网络编程工具,但如何更好的快速掌握呢?小编这里推荐用户使用学通ASP.NET的24堂课,这是一本ASP.NET技术
查看
java 8实战中文版11.05M厄马pdf扫描版Java 8实战是一本java8实战手册,由英国程序员厄马(Raoul-GabrielUrma)编著,陆明刚,劳佳 翻译。本书结构清晰、内容翔实,从实例入手,涵盖Java 8的主要新特性,包括Lambda表达式、方法引用、流、默认方法、Optional、
查看
网络安全评估从漏洞到补丁75.24Mpdf扫描版 网络安全评估从漏洞到补丁是一本网络安全指导书籍,由美国网络安全专家Steve Manzuik编著,张建标编译。全书主要将漏洞管理技术融入到业务管理中,只有将黑客所实施的威胁与对组织造成的风险联系到一起时,这些知识才是有价值的,而本书就是要介绍完成这
查看
HotSpot实战(陈涛著)82M中文pdf扫描版想要学习HotSpot虚拟机应用技术,那就下载这款HotSpot实战pdf来学习吧,它是由著名HotSpot领域专家陈涛所著,书中主要讲解了HotSpot虚拟机的工作原理,编译和调试HotSpot的方法、HotSpot内核结构、Launcher、OOP-
查看