-
内容大纲
本书是一本介绍用函数式编程方式编写更好、更整洁代码的实用指南。在本书中,著名软件工程师Robert C.Martin(Bob大叔)解释了为何使用函数式编程,以及如何做才能为客户构建更好的系统。Bob大叔将Java中传统的面向对象的编程结构与函数式语言所支持的编程结构进行了对比,确定了每种结构的作用,并展示了如何明智地在合理上下文中使用两者来构建更好的系统。
作风务实的Bob大叔能用最少的理论讲清并解决“真刀真枪”的实战问题。通过易于理解的示例,开发人员能发现易于学习且语义丰富的Clojure语言如何帮助他们提高代码的整洁性、设计性、纪律性和成效性。Bob大叔还从函数式的视角研究了著名的SOLID原则和GOF设计模式,揭示了模式对于函数式程序员仍极具价值的原因,以及使用它们来实现卓越成效的方法。 -
作者介绍
-
目录
题献
推荐序
译者序
序
前言
致谢
作者简介
第一部分 函数式基础
第1章 不变性
1.1 什么是函数式编程
1.2 赋值的问题
1.3 为什么叫它“函数式”
1.4 没有状态改变吗
1.5 不变性概念
第2章 持久性数据
2.1 关于瞒天过海
2.2 制作副本
2.3 结构共享
第3章 迭代和递归
3.1 迭代
3.1.1 极简Clojure教程
3.1.2 迭代概述
3.1.3 TCO、Clojure和JVM
3.2 递归
第4章 惰性
4.1 惰性累积
4.2 为何需要惰性
4.3 尾声
第5章 状态性
5.1 何时必须“可变”
5.2 软件事务内存
5.3 生活不易,软件更难
第二部分 比较性分析
第6章 质因数练习
6.1 Java版
6.2 Clojure版
6.3 总结
第7章 保龄球练习
7.1 Java版
7.2 Clojure版
7.3 总结
第8章 八卦公交司机练习
8.1 Java版
8.1.1 公交司机文件
8.1.2 行车线路文件
8.1.3 公交车站文件
8.1.4 八卦故事文件
8.1.5 模拟过程文件
8.2 Clojure版
8.3 总结
第9章 面向对象编程
9.1 函数式工资问题解决方案
9.2 命名空间与源文件
9.3 总结
第10章 类型
第三部分 函数式设计
第11章 数据流
第12章 SOLID
12.1 单一职责原则
12.2 开闭原则
12.2.1 函数
12.2.2 带虚表的对象
12.2.3 多重方法
12.2.4 独立部署
12.3 里氏替换原则
12.3.1 ISA原则
12.3.2 这不对
12.3.3 代表原则
12.4 接口隔离原则
12.4.1 不需要就别依赖
12.4.2 为什么
12.4.3 总结
12.5 依赖倒置原则
12.5.1 回忆杀
12.5.2 违背依赖倒置原则
12.5.3 总结
第四部分 函数式实用主义
第13章 测试
13.1 REPL
13.2 Mock
13.3 基于性质的测试
13.4 诊断技术
13.5 函数式
第14章 GUI
第15章 并发性
第五部分 设计模式
第16章 设计模式回顾
16.1 函数式编程中的模式
16.2 抽象服务器模式
16.3 适配器模式
16.4 命令模式
16.5 组合模式
16.6 装饰器模式
16.7 访问者模式
16.7.1 To Close or to Clojure
16.7.2 90°问题
16.8 抽象工厂模式
16.8.1 90°问题重现
16.8.2 类型安全吗
16.9 总结
16.10 补充:面向对象是毒药吗
第六部分 案例研究
第17章 Wa-Tor小游戏
17.1 如鲠在喉
17.2 解决问题
17.3 让鱼疯狂繁殖
17.4 对于鲨鱼
17.5 总结
后记
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...