由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高99元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
正版新书]函数式设计:原则、模式与实践[美] 罗伯特 · C. 马丁(
¥ ×1
目 录
题 献
推荐序
译者序
序
前 言
致 谢
作者简介
第一部分 函数式基础
第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
本书是一本介绍用函数式编程方式编写更好、更整洁代码的实用指南。在本书中,有名软件工程师Robert C. Martin(Bob大叔)解释了为何使用函数式编程,以及如何做才能为客户构建更好的系统。Bob大叔将Java中传统的面向对象的编程结构与函数式语言所支持的编程结构进行了对比,确定了每种结构的作用,并展示了如何明智地在合理上下文中使用两者来构建更好的系统。
作风务实的Bob大叔能用最少的理论讲清并解决“真刀真枪”的实战问题。通过易于理解的示例,开发人员能发现易于学习且语义丰富的Clojure语言如何帮助他们提高代码的整洁性、设计性、纪律性和成效性。Bob大叔还从函数式的视角研究了有名的SOLID原则和GOF设计模式,揭示了模式对于函数式程序员仍极具价值的原因,以及使用它们来实现很好成效的方法。
通过阅读本书,你将能够:
?理解函数式编程基础:不变性、持久性数据、递归、迭代、惰性和状态性;
?通过精心设计的案例研究对比函数式方法和面向对象方法;
?探索数据流的函数式设计技术;
?使用经典的SOLID原则编写更好的Clojure代码;?
?掌握实现函数式测试、GUI和并发性的实用方法;
?在函数式编程中充分利用设计模式;
逐步构建企业级Clojure应用程序。
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格
