函数式设计:原则、模式与实践(英文版)
- ISBN:9787111760627
- 装帧:平装-胶订
- 册数:暂无
- 重量:暂无
- 开本:32开
- 页数:349
- 出版时间:2024-10-01
- 条形码:9787111760627 ; 978-7-111-76062-7
本书特色
在本书中,著名软件工程师Bob大叔解释了为何使用函数式编程,以及如何做才能为客户构建更好的系统。Bob大叔将Java中传统的面向对象的编程结构与函数式语言所支持的编程结构进行了对比,确定了每种结构的作用,并展示了如何明智地在合理上下文中使用两者来构建更好的系统。作风务实的Bob大叔能用*少的理论讲清并解决“真刀真枪”的实战问题。通过易于理解的示例,开发人员能发现易于学习且语义丰富的Clojure语言如何帮助他们提高代码的整洁性、设计性、纪律性和成效性。Bob大叔还从函数式的视角研究了著名的SOLID原则和GOF设计模式,揭示了模式对于函数式程序员仍极具价值的原因,以及使用它们来实现卓越成效的方法。通过阅读本书,你将能够:?理解函数式编程基础:不变性、持久性数据、递归、迭代、惰性和状态性;?通过精心设计的案例研究对比函数式方法和面向对象方法;?探索数据流的函数式设计技术;?使用经典的SOLID原则编写更好的Clojure代码;? 掌握实现函数式测试、GUI和并发性的实用方法;?在函数式编程中充分利用设计模式;?逐步构建企业级Clojure应用程序。
内容简介
本书是一本向程序员介绍如何有效使用函数式编程语言的实用指南。它侧重于现实世界中的应用,避免深入探讨Monads、Monoids、Functors和Categories等理论方面的内容,因为这些内容已经集成到常用语言、库和框架中。相反,本书强调如何以及为什么要在日常软件开发中使用函数式编程,书中比较了Java等面向对象语言和Clojure等函数式语言的编码结构。之所以选择这些语言,是因为它们使用广泛(Java)且简单(Clojure)。 本书还重点描述了用函数式方法构建系统的设计和架构原则,书中使用了统一建模语言(Unified Modeling Language,UML)图,并参考了软件设计的SOLID原则、设计模式,以及整洁架构的概念。
目录
**部分 函数式基础
第1章 不变性3
什么是函数式编程4
赋值的问题7
为什么叫它“函数式”10
没有状态改变吗12
不变性概念15
第2章 持久性数据17
关于瞒天过海19
制作副本20
结构共享23
第3章 递归和迭代27
迭代28
极简Clojure教程29
迭代概述32
TCO、Clojure和JVM32
递归32
第4章 惰性37
惰性累积40
为何需要惰性41
尾声42
第5章 状态性43
何时必须“可变”47
软件事务内存48
生活不易,软件更难51
第二部分 比较性分析
第6章 质因数练习55
Java版56
Clojure版60
总结63
第7章 保龄球练习65
Java版66
Clojure版71
总结75
第8章 八卦公交司机练习77
Java版78
公交司机文件84
行车线路文件85
公交车站文件85
八卦故事文件86
模拟过程文件87
Clojure版88
总结93
第9章 面向对象编程95
函数式工资问题解决方案98
命名空间与源文件107
总结108
第10章 类型109
第三部分 函数式设计
第11章 数据流117
第12章 SOLID125
单一职责原则126
开闭原则131
函数133
带虚表的对象134
多重方法135
独立部署136
里氏替换原则138
ISA原则142
这不对145
代表原则146
接口隔离原则147
不需要就别依赖150
为什么151
总结151
依赖倒置原则152
回忆杀155
违背依赖倒置原则165
总结179
第四部分 函数式实用主义
第13章 测试183
REPL184
Mock184
基于性质的测试186
诊断技术190
函数式197
第14章 GUI199
用Quil进行海龟绘图200
第15章 并发性215
总结225
第五部分 设计模式
第16章 设计模式回顾229
函数式编程中的模式233
抽象服务器模式233
适配器模式236
那真的是适配器对象吗241
命令模式242
撤销245
组合模式249
函数式254
装饰器模式260
访问者模式264
To Close or to Clojure267
90°问题270
抽象工厂模式274
90°问题重现279
类型安全吗281
总结281
补充:面向对象是毒药吗282
第六部分 案例研究
第17章 Wa-Tor小游戏287
如鲠在喉309
解决问题312
让鱼疯狂繁殖322
对于鲨鱼324
总结335
后记337
索引341
作者简介
罗伯特·C. 马丁(Bob大叔)
世界著名编程大师,敏捷开发和设计模式先驱,从事软件开发相关工作超过50年。他是“SOLID五大原则”的奠基人、“敏捷宣言”联合签署人、“敏捷联盟”首任主席、C Report杂志前主编。他发表了大量有影响力的文章,并经常受邀在许多国际软件大会上发表演讲。他创立了Uncle Bob Consulting有限责任公司,并与儿子Micah Martin共同创立了Clean Coders有限责任公司。他还是Clean Code、Clean Architecture和The Clean Coder等多本畅销书籍的作者。
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥37.7¥65.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0 -
PREMIERE PRO 2023全面精通:视频剪辑+颜色调整+转场特效+字幕制作+案例实战
¥69.3¥99.0