展开全部

主编推荐语

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

内容简介

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

目录

  • 版权信息
  • 版权声明
  • 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 函数式金字塔
  • 作者简介
  • 看完了
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

人民邮电出版社·图灵出品

图灵社区成立于2005年6月,由人民邮电出版社投资控股,以策划出版高质量的科技书籍为核心业务,主要出版领域包括计算机、电子电气、数学统计、科普等,通过引进国际高水平的教材、专著,以及发掘国内优秀原创作品等途径,为目标读者提供一流的内容。