ISBN:9787115388946
作者:[美] Michael Bevilacqua-Linn
页数:216页
内容概要
作者简介:
Michael Bevilacqua-Linn
康卡斯特杰出工程师,现为该公司的新一代服务的电力基础设施构建分布式系统。他五年级的时候就拖着一台Apple II GS到自己班为同学们解释循环和变量。其博客地址为http://mblinn.com/。
译者简介:
赵震一
一线攻城狮,曾涌入创业洪流,多年未有所成。现居杭州,就职于阿里巴巴。热爱技术,关注互联网与大数据。InfoQ社区编辑,闲暇译一些技术文章,译有《RESTful Web APIs中文版》。
书籍目录
第1章 模式和函数式编程 1
1.1 什么是函数式编程 2
1.2 模式词汇表 4
第2章 TinyWeb:让模式协同工作 7
2.1 TinyWeb简介 7
2.2 采用Java来编写TinyWeb 7
2.3 采用Scala来编写TinyWeb 17
2.4 采用Clojure来编写TinyWeb 25
第3章 替代面向对象模式 35
简介 35
模式1 替代函数式接口 35
模式2 替代承载状态的函数式接口 42
模式3 替代命令模式 48
模式4 替代生成器模式来获得不可变对象 55
模式5 替代迭代器模式 64
模式6 替代模板方法模式 73
模式7 替代策略模式 81
模式8 替代空对象 87
模式9 替代装饰器模式 95
模式10 替代访问者模式 99
模式11 替代依赖注入 113
第4章 函数式模式 121
简介 121
模式12 尾递归模式 121
模式13 相互递归模式 128
模式14 Filter-Map-Reduce模式 136
模式15 操作链模式 139
模式16 函数生成器模式 146
模式17 记忆模式 159
模式18 惰性序列模式 163
模式19 集中的可变性 172
模式20 自定义控制流 180
模式21 领域特定语言 191
第5章 结束语 201
参考文献 202
作者简介
StackOverflow刚刚发布了2015开发者调查,最受程序员喜爱的开发语言中,Clojure和Scala分别位列第五和第六。排名第一的是Swift,而Swift相比原先的Objective-C最重要的优点之一,就是对函数式编程提供了更好的支持。同时,新一代分布式计算系统Spark不仅在实现中选择了Scala,其提供的首选编程语言也是Scala。
所有迹象都显示,诞生50多年后,函数式编程却焕发了青春,越来越受到关注和青睐,从边缘地带步入了主流,除了Scala和Clojure这些新生函数式编程语言大行其道之外,Java等老牌面向对象的编程语言也开始支持匿名函数。函数式编程能简化开发过程,尤其是大型知识管理系统应用程序从中受益良多。
本书向读者展示了如何采用函数式方案来替代或简化面向对象编程中使用的诸多通用模式,同时还介绍了一些在函数式世界中广泛使用的模式。如果你是一名Java程序员,希望了解函数式编程能为你的工作效率带来多大的提升,或者你是一名刚刚开始使用Scala和Clojure的新手,尚不能玩转函数式的问题解决方案,那么本书就是为你而准备的。