大小: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条评论
最新排行
网页开发手记HTML+CSS+JavaScript实战详解57.15M叶青pdf扫描版网页开发手记HTML+CSS+JavaScript实战详解是一本非常网站开发建设实战手册,由叶青、孙亚南、孙泽军编著。本书内容丰富翔实,循序渐进的讲述了网页制作技术从基本概念到HTML页面制作,CSS样式控制、javaScrinpt程序的动态行为和综合实
查看轻而易举黑客攻防入门41.81M先知文化pdf扫描版轻而易举黑客攻防入门是一本黑客攻防类型的学习教材,由先知文化编著,电子工业出版社出版。全书从黑客新手的需要和学习习惯出发,详细介绍了黑客基础知识、信息搜集与漏洞扫描、黑客常用命令与工具、windows系统漏洞防范、密码攻防、远程控制攻防、木马攻防、网络攻
查看Ajax原理与系统开发143.95M陈锋敏pdf扫描版Ajax原理与系统开发是一本Web前端Ajax框架原理与系统开发书籍,由陈锋敏编著。本书内容丰富,翔实,以真实的项目开发与实现为主线,对各个设计元素进行了深入的讲解。同时精选多个典型案例,并结合基础知识对系统进行分析、设计与编程实现,可以帮助读者学习并掌
查看android系统服务开发54.2Mpdf完整扫描版android系统服务开发是一本不错的android系统开发书籍,通过本书可以了解系统进程间通信、通信(RIL)框架、电源管理等内容的相关细节,对致力于这方面开发的程序员来说大有裨益。本书由[韩]金大佑,朴宰永,文炳元编著,邸春红翻译,人民邮电出版社出版
查看ASP.NET项目开发案例全程实录(第2版)75.67Mpdf扫描版ASP.NET项目开发案例全程实录(第2版)是一本ASP.NET的项目开发实录教材,由郑齐心同,房大伟,刘云峰等人编著。本书内容丰富翔实,拥有12套完整项目开发案例,支持模块库,题库,素材库等海量学习资料,同时涉及行业广泛,实用性非常强。通过书中的学习,
查看netty权威指南 第二版97.22M李林锋 pdf扫描版netty权威指南 第二版是一本Netty架构学习指南,由李林锋编著。本书深入剖析了Netty,更全面系统讲解底层架构、实践与源码,能够让读者更清晰地理解Netty 架构设计理念,第2版增加了MessagePack 编解码、服务端创建、客户端创建、高性能
查看photoshop从入门到精通数码照片处理篇34.57Mphotoshop应该是现代办公人员必须学会的软件,不管你工作用得到还是用不到,都应该学会,工作中用得到固然好,用不到的话你也可以给自己的相片美美地PS下啊,难道你没有看过网络上那些PS大神的作品,精彩绝美!今天小编给网友带来了photoshop从入门到
查看html5权威指南电子书136.66Mpdf扫描版HTML5致力于为互联网开发者搭建更加便捷、开放的沟通平台,但如何入门呢?小编这里推荐用户阅读html5权威指南,这是一本html5语言的权威使用指南,也是全面详实的web网页设计参考书,贴心汇聚HTML5和CSS3 JavaScript,由美国程序员弗
查看海量运维运营规划之道37.36M唐文 pdf全彩版海量运维运营规划之道是腾讯、百度一线资深工程师唐文多年经验总结而成的一本书籍,本书把当今中国一线互联网公司的运维工作,成体系地搬到了大家面前,让大家看到中国一线互联网公司是如何做技术运维工作、如何做产品速度体验优化的,以及做这些工作的方法论。同时,这也是
查看Python高级编程68.64Mpdf高清扫描版Python高级编程是一款pdf格式的高清扫描版图书,已经附带了pdf阅读器,即下即用。该书通过大量的实例,介绍了Python语言的最佳实践和敏捷开发方法,并涉及整个软件生命周期的高级主题,诸如持续集成、版本控制系统、包的发行和分发、开发模式、文档编写等
查看深入理解bootstrap pdf完整版76.12M徐涛高清扫描版深入理解bootstrap是一本Bootstrap使用指导手册,由国内资深Web技术专家徐涛编著。本书是根据Bootstrap最新版本撰写的,全书全面讲解了各功能组件的使用方法,以及对现有插件和扩展的二次开发。并且还深入分析了其架构思想和源码实和如何开发
查看