大小:20.41M
更新时间:23-09-14
系统:Pc
版本:v
函数式编程思维是一本编程语言思维指导书,由美国程序员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
同类热门
热门标签
网友评论0人参与,0条评论
最新排行
系统集成项目管理工程师教程电子版61.63M柳纯录 pdf扫描版系统集成项目管理工程师教程电子版是全国计算机专业技术资格考试办公室组织编写的考试指定用书,由柳纯录编著。本书依据信息安全工程师考试大纲编写,注重理论联系实际,突出实用技术,内容包括信息安全基础、密码学、网络安全、信息系统安全基础、应用系统安全基础、网络安
查看C#2012数据库编程入门经典(第5版)87.4Mpdf扫描版C#2012数据库编程入门经典(第5版)是一本C#数据库编程入门书籍,由[美]阿加瓦尔Vidya,Vrat Agarwal著,沈刚,谭明红共同翻译。全书就是一本帮助具有C#语言基础的程序员快速掌握数据库编程知识的指南,包括了使用SQL Server 20
查看head first ajax 中文版78.43Mpdf扫描版head first ajax 中文版是一本web Ajax框架详解,由美国程序员Rebecca M.Riordan编著。本书采用了重复手法写作,会用不同方式,采用不同类型的媒体,运用多种思维手段来介绍同一个东西,目的是让有关内容更容易储存在你的大脑中,
查看写给大家看的设计书第4版18.76Mpdf扫描版写给大家看的设计书 第四版是一本设计类书籍的经典著作,由世界级设计师Robin Williams编著。第4版全面修订,更新了大量实例,并增加了一章内容,介绍排版设计。本书全书主要围绕着对比、重复、对齐和亲密性四条基本原则而写作,简洁通俗、幽默生动,再配以
查看Visual Studio 2015高级编程(第六版)46.02Mpdf扫描版 Visual Studio 2015高级编程(第六版)是。NET开发领域的经典名著,清华经典IT红皮书,由美国程序员Bruce Johnson编著。本书内容丰富翔实,主要介绍了Visual Studio 2015中的所有改变和变化,以及新的显示和设
查看模拟集成电路的分析与设计14.76M模拟集成电路的分析与设计是一本阐述模拟集成电路的基本原理和概念的书籍,这个在业界都是非常有名气的,也有不少被学者想要这本书子书,今天小编就给大家带来了,它是pdf格式的,大家可以用电脑或者手机打开阅读,有需要的朋友赶紧下载吧!图书简介模拟集成电路的分析与
查看编程大讲坛C#核心开发技术从入门到精通73.32M管西京pdf扫描版编程大讲坛C#核心开发技术从入门到精通是一本C#语言核心开发书籍,由具有多年C语言开发经验的程序员管西京编著。本书内容全面,从基本的语法入手,以恰当的实例为导向,由浅入深的讲解各门技术的基本理论知识,所讲解的内容几乎囊括了此技术的所有知识点。再根据C语言
查看html5移动web开发指南1.99Mpdf完整版html5移动web开发指南是由著名的Web前端工程师唐俊开所编著的,是一门新崛起的语言,现在非常的流行,本书是为从未接触过html5新技术但同时又对移动web技术感兴趣的读者而编写的,同时它也适用于有一定基础或者未来计划的职业是web前端开发工程师、具
查看