函数式设计:原则、模式与实践
①全新正版,现货速发,7天无理由退换货②天津仓、成都仓、无锡仓、广东仓、武汉仓等多仓就近发货,订单最迟48小时内发出③无法指定快递④可开电子发票,不清楚的请咨询客服。
¥
77.38
7.1折
¥
109
全新
库存3件
作者 [美] 罗伯特 · C. 马丁(Robert C. Martin)
出版社 机械工业
ISBN 9787111757818
出版时间 2024-07
装帧 平装
开本 其他
定价 109元
货号 32128073
上书时间 2024-10-04
商品详情
品相描述:全新
商品描述
作者简介 RobertC.Martin(Bob大叔),世界著名编程大师,敏捷开发和设计模式先驱,从事软件开发相关工作超过50年。他是“SOLID五大原则”的奠基人、“敏捷宣言”联合签署人、“敏捷联盟”首任主席、C++Report杂志前主编。他发表了大量有影响力的文章,并经常受邀在许多国际软件大会上发表演讲。他创立了UncleBobConsulting有限责任公司,并与儿子MicahMartin共同创立了CleanCoders有限责任公司。他还是CleanCode、CleanArchitecture和TheCleanCoder等多本畅销书籍的作者,本书是他最新的作品。 目录 目 录 题 献 推荐序 译者序 序 前 言 致 谢 作者简介 第一部分 函数式基础 第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 内容摘要 在本书中,著名软件工程师罗伯特·C.马丁(RobertC.Martin,\"鲍勃大叔\")解释了如何以及为什么使用函数式编程为真实客户构建更好的系统。作者将Java中传统的面向对象编码结构与函数式语言所支持的编码结构进行了比较,确定了每种结构的最佳作用,并展示了如何在特定环境中明智地使用这些结构来构建更好的系统。 主编推荐 本书是一本介绍用函数式编程方式编写更好、更整洁代码的实用指南。在本书中,有名软件工程师Robert C. Martin(Bob大叔)解释了为何使用函数式编程,以及如何做才能为客户构建更好的系统。Bob大叔将Java中传统的面向对象的编程结构与函数式语言所支持的编程结构进行了对比,确定了每种结构的作用,并展示了如何明智地在合理上下文中使用两者来构建更好的系统。 作风务实的Bob大叔能用最少的理论讲清并解决“真刀真枪”的实战问题。通过易于理解的示例,开发人员能发现易于学习且语义丰富的Clojure语言如何帮助他们提高代码的整洁性、设计性、纪律性和成效性。Bob大叔还从函数式的视角研究了有名的SOLID原则和GOF设计模式,揭示了模式对于函数式程序员仍极具价值的原因,以及使用它们来实现很好成效的方法。 通过阅读本书,你将能够: ?理解函数式编程基础:不变性、持久性数据、递归、迭代、惰性和状态性; ?通过精心设计的案例研究对比函数式方法和面向对象方法; ?探索数据流的函数式设计技术; ?使用经典的SOLID原则编写更好的Clojure代码;? ?掌握实现函数式测试、GUI和并发性的实用方法; ?在函数式编程中充分利用设计模式; 逐步构建企业级Clojure应用程序。
— 没有更多了 —
以下为对购买帮助不大的评价