函数式编程思维

函数式编程思维

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

Java等现代编程语言中出现了越来越多的函数式特性,跟随这本书,去了解语法表象之下真正需要掌握的新思维。

内容简介

《函数式编程思维》脱离特定的语言特性,关注各种OOP语言的共同实践做法,展示如何通过函数式语言解决问题。例如,如何利用函数式语言,通过高阶函数、多元方法等完成代码重用。知名软件架构师Neal Ford为我们展示不同的编程范式,帮我们完成从Java命令式编程人员,到使用Java、Clojure、Scala函数式编程人员的完 美转变,建立对函数式语言的语法和语义的良好理解。

作者简介

作者Neal Ford,在跨国IT咨询公司ThoughtWorks担任总监、软件架构师和文化基因传播人。他精通各种编程语言,主要的咨询业务是大规模企业应用的设计、构建和工程实践。他还是一位国际知名的讲师,登上过全世界各种开发者会议的讲台。

章节目录

版权信息

版权声明

O'Reilly Media, Inc. 介绍

译者序

前言

第1章 为什么

1.1 范式转变

1.2 跟上语言发展的潮流

1.3 把控制权让渡给语言/运行时

1.4 简洁

第2章 转变思维

2.1 普通的例子

2.1.1 命令式解法

2.1.2 函数式解法

2.2 案例研究:完美数的分类问题

2.2.1 完美数分类的命令式解法

2.2.2 稍微向函数式靠拢的完美数分类解法

2.2.3 完美数分类的Java 8实现

2.2.4 完美数分类的Functional Java实现

2.3 具有普遍意义的基本构造单元

2.3.1 筛选

2.3.2 映射

2.3.3 折叠/化约

2.4 函数的同义异名问题

2.4.1 筛选

2.4.2 映射

2.4.3 折叠/化约

第3章 权责让渡

3.1 迭代让位于高阶函数

3.2 闭包

3.3 柯里化和函数的部分施用

3.3.1 定义与辨析

3.3.2 Groovy的情况

3.3.3 Clojure的情况

3.3.4 Scala的情况

3.3.5 一般用途

3.4 递归

3.5 Stream和作业顺序重排

第4章 用巧不用蛮

4.1 记忆

4.1.1 缓存

4.1.2 引入“记忆”

4.2 缓求值

4.2.1 Java语言下的缓求值迭代子

4.2.2 使用Totally Lazy框架的完美数分类实现

4.2.3 Groovy语言的缓求值列表

4.2.4 构造缓求值列表

4.2.5 缓求值的好处

4.2.6 缓求值的字段初始化

第5章 演化的语言

5.1 少量的数据结构搭配大量的操作

5.2 让语言去迎合问题

5.3 对分发机制的再思考

5.3.1 Groovy对分发机制的改进

5.3.2 “身段柔软”的Clojure语言

5.3.3 Clojure的多重方法和基于任意特征的多态

5.4 运算符重载

5.4.1 Groovy

5.4.2 Scala

5.5 函数式的数据结构

5.5.1 函数式的错误处理

5.5.2 Either类

5.5.3 Option类

5.5.4 Either树和模式匹配

第6章 模式与重用

6.1 函数式语言中的设计模式

6.2 函数级别的重用

6.2.1 Template Method模式

6.2.2 Strategy模式

6.2.3 Flyweight模式和记忆

6.2.4 Factory模式和柯里化

6.3 结构化重用和函数式重用的对比

第7章 现实应用

7.1 Java 8

7.1.1 函数式接口

7.1.2 Optional类型

7.1.3 Java 8的stream

7.2 函数式的基础设施

7.2.1 架构

7.2.2 Web框架

7.2.3 数据库

第8章 多语言与多范式

8.1 函数式与元编程的结合

8.2 利用元编程在数据类型之间建立映射

8.3 多范式语言的后顾之忧

8.4 上下文型抽象与复合型抽象的对比

8.5 函数式金字塔

作者简介

看完了

函数式编程思维是2015年由人民邮电出版社出版,作者[美]NealFord。

得书感谢您对《函数式编程思维》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
Java零基础实战 电子书
Java从入门到精通,更好理解、更易上手、更适合新手的Java入门宝典。
代码精进之路:从码农到工匠 电子书
对于很多一直“低头拉车”的程序员来说,这本书能够让你不必"抬头"就能看到未来的出路。
深入React技术栈 电子书
全面讲述React技术栈的原创图书,pure render专栏主创倾力打造,覆盖React、Flux、Redux及可视化等内容。
在线视频技术精要 电子书
音视频、开发、人工智能、编解码,帮你构建在线视频技术的全景图在线视频技术。
计算机组装与维护教程(第7版) 电子书
本书详细讲授多媒体计算机的各种部件,以及软件的安装和常见故障的维护和检修技术。