第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