官网 函数式设计 原则 模式与实践 罗伯特 马丁 整洁代码 代码整洁 Clojure 设计模式 函数式编程原则实践 计算机编程技术书籍
运费: | 免运费 |
商品详情
定价:109.0
ISBN:9787111757818
作者:马丁
版次:1
内容提要:
在本书中,著名软件工程师罗伯特·C. 马丁(Robert C. Martin,"鲍勃大叔")解释了如何以及为什么使用函数式编程为真实客户构建更好的系统。作者将 Java 中传统的面向对象编码结构与函数式语言所支持的编码结构进行了比较,确定了每种结构的最佳作用,并展示了如何在特定环境中明智地使用这些结构来构建更好的系统。
目录:
目 录
题 献
推荐序
译者序
序
前 言
致 谢
作者简介
第一部分 函数式基础
第1章 不变性 2
1.1 什么是函数式编程 3
1.2 赋值的问题 5
1.3 为什么叫它“函数式” 7
1.4 没有状态改变吗 8
1.5 不变性概念 11
第2章 持久性数据 12
2.1 关于瞒天过海 14
2.2 制作副本 14
2.3 结构共享 16
第3章 迭代和递归 19
3.1 迭代 20
3.1.1 极简Clojure教程 20
3.1.2 迭代概述 22
3.1.3 TCO、Clojure和JVM 22
3.2 递归 23
第4章 惰性 26
4.1 惰性累积 28
4.2 为何需要惰性 28
4.3 尾声 29
第5章 状态性 30
5.1 何时必须“可变” 33
5.2 软件事务内存 34
5.3 生活不易,软件更难 36
第二部分 比较性分析
第6章 质因数练习 39
6.1 Java版 40
6.2 Clojure版 43
6.3 总结 45
第7章 保龄球练习 46
7.1 Java版 47
7.2 Clojure版 51
7.3 总结 54
第8章 八卦公交司机练习 56
8.1 Java版 57
8.1.1 公交司机文件 62
8.1.2 行车线路文件 62
8.1.3 公交车站文件 63
8.1.4 八卦故事文件 64
8.1.5 模拟过程文件 64
8.2 Clojure版 65
8.3 总结 69
第9章 面向对象编程 70
9.1 函数式工资问题解决方案 72
9.2 命名空间与源文件 78
9.3 总结 78
第10章 类型 80
第三部分 函数式设计
第11章 数据流 86
第12章 SOLID 92
12.1 单一职责原则 93
12.2 开闭原则 96
12.2.1 函数 97
12.2.2 带虚表的对象 98
12.2.3 多重方法 98
12.2.4 独立部署 99
12.3 里氏替换原则 101
12.3.1 ISA原则 103
12.3.2 这不对 105
12.3.3 代表原则 106
12.4 接口隔离原则 106
12.4.1 不需要就别依赖 108
12.4.2 为什么 108
12.4.3 总结 109
12.5 依赖倒置原则 109
12.5.1 回忆杀 111
12.5.2 违背依赖倒置原则 119
12.5.3 总结 129
第四部分 函数式实用主义
第13章 测试 132
13.1 REPL 133
13.2 Mock 133
13.3 基于性质的测试 134
13.4 诊断技术 137
13.5 函数式 143
第14章 GUI 144
第15章 并发性 155
第五部分 设计模式
第16章 设计模式回顾 165
16.1 函数式编程中的模式 167
16.2 抽象服务器模式 168
16.3 适配器模式 170
16.4 命令模式 174
16.5 组合模式 178
16.6 装饰器模式 186
16.7 访问者模式 189
16.7.1 To Close or to Clojure 191
16.7.2 90°问题 193
16.8 抽象工厂模式 196
16.8.1 90°问题重现 199
16.8.2 类型安全吗 201
16.9 总结 201
16.10 补充:面向对象是毒药吗 201
第六部分 案 例 研 究
第17章 Wa-Tor小游戏 204
17.1 如鲠在喉 220
17.2 解决问题 222
17.3 让鱼疯狂繁殖 230
17.4 对于鲨鱼 231
17.5 总结 240
后记 242
- 机械工业出版社旗舰店 (微信公众号认证)
- 扫描二维码,访问我们的微信店铺
- 随时随地的购物、客服咨询、查询订单和物流...