¥ 78 4.9折 ¥ 159 全新
库存2件
作者[美]罗伯特·C.马丁(Robert、C.、Martin 著
出版社清华大学出版社
出版时间2020-12
版次1
装帧平装
上书时间2024-12-10
《敏捷软件开发(珍藏版)》作为敏捷软件开发的里程碑之作,重点介绍了敏捷软件开发的原则、模式和实践。全书共6部分30章4个附录,以场景化方式阐述了什么敏捷软件开发的核心,强调了工程实践是敏捷软件开发的重要基石。本书的写作风格诙谐幽默,巧妙地通过通俗易懂和画面感十足的的表述漫画来帮助读者理解可能枯燥晦涩的专业技术要点。
《敏捷软件开发(珍藏版)》适合真正想要通过敏捷方式来提升软件开发技能以及及时交付软件价值的所有读者阅读和参考。
罗伯特·C.马丁(Robert C. Martin)
业内人士尊称的 “鲍勃大叔”(Uncle Bob),是国际知名的软件工程师和导师,一位有五十多年健康编码经验的程序员。cleancoders.com联合创始人和Uncle Bob咨询公司创始人,主要提供软件咨询、技能培训和视频教学服务。他在专业技术领域具有较深的造诣。除了担任C++ Report杂志的总编辑,他还发表了大量有影响力的文章,受邀在许多国际性软件大会上发表演讲。他是SOLID五大原则的奠基人,是《敏捷宣言》联合签署人并担任过敏捷联盟第一届主席。他擅长的主题有软件匠艺、敏捷软件开发和测试驱动开发等。马丁是个终生学习者,52年出生的他,还在学习飞行驾驶员。
译者简介
鄢倩
ThoughtWorks中国区区块链事业部的技术负责人,《架构整洁之道》技术审校者。作为活跃在技术一线的技术顾问,他一直在为多家通信和金融企业提供基于敏捷精益原则的转型服务,在云服务系统中指导和实施DDD、持续集成和持续交付等技术实践。在公司内部,还以技术负责人的身份带领团队交付软件、攻关技术难点以及培养团队工程师文化。鄢倩致力于帮助企业接入区块链生态和引领商业变革,他的主要兴趣领域是区块链、领域驱动设计和微服务架构等方向。
徐进
ThoughtWorks软件开发工程师。在汽车和电商领域有丰富的软件开发经验。对敏捷开发流程和相关敏捷实践有深入的理解,对面向对象编程范式和软件设计模式有深入的研究与实践。徐进的主要兴趣点在于基础设施即代码、微服务与云原生技术领域的演进和发展。
简明目录
第I 部分 敏捷开发
第1 章 敏捷实践 003
第2 章 极限编程实践 011
第3 章 计划 023
第4 章 测试 029
第5 章 重构 039
第6 章 一次编程活动 055
第II 部分 敏捷设计
第7 章 什么是敏捷设计 109
第8 章 单一职责原则(SRP) 121
第9 章 开放- 关闭原则(OCP) 127
第10 章 里氏替换原则(LSP) 141
第11 章 依赖倒置原则(DIP) 161
第12 章 接口隔离原则(ISP) 171
第III 部分 薪水支付系统
第13 章 命令模式和主动对象模式 191
第14 章 模板方法模式和策略模式:继承和委托 203
第15 章 外观模式和中介者模式 219
第16 章 单例模式和单状态模式 225
第17 章 空对象模式 239
第18 章 案例学习:薪水支付系统(一) 243
第19 章 案例学习:薪水支付系统(二) 257
第Ⅳ部分 打包薪水支付系统
第20 章 包的设计原则 317
第21 章 工厂模式 339
第22 章 薪水支付系统(三) 347
第Ⅴ部分 气象站案例
第23 章 组合模式 369
第24 章 观察者模式:回归为模式 373
第25 章 抽象服务器,适配器和桥接模式 397
第26 章 代理模式和 STAIRWAY TO HEAVEN 模式:管理第三方API 409
第27 章 案例学习:气象站 443
第Ⅵ部分 ETS 案例
第28 章 访问者模式 483
第29 章 状态模式 525
第30 章 ETS 框架 554
附录
附录A UML 表示法(一):CGI 示例 584
附录B UML 表示法(二):统计多路复用器 611
附录C 两家公司的讽刺故事 633
附录D 源码即设计 649
第I 部分 敏捷开发
第1 章 敏捷实践 003
敏捷联盟 004
敏捷宣言 004
敏捷软件开发宣言 004
个体交互优先于过程和工具 005
可以工作的软件优先于面面俱到的文档 005
客户合作优先于合同谈判 006
响应变化优先于遵循计划 007
原则 007
小结 010
参考文献 010
第2 章 极限编程实践 011
极限编程实践 011
客户团队成员 012
用户故事 012
短交付周期 013
验收测试 014
结对编程 014
测试驱动开发 015
集体所有权 015
持续集成 015
可持续的开发速度 016
开放的工作空间 016
规划游戏 017
简单设计 017
重构 018
隐喻 019
小结 020
参考文献 020
详细目录
目 录XXIII
第3 章 计划 023
初探 024
探究、分解和速度 024
发布计划 025
迭代计划 025
任务计划 026
迭代中点 027
迭代 027
小结 027
参考文献 028
第4 章 测试 029
测试驱动开发(TDD) 029
测试先行设计的示例 030
测试隔离 032
意外获得的解耦 034
验收测试 034
验收测试的示例 035
意外获得的架构 037
小结 037
参考文献 038
第5 章 重构 039
素数生成器:一个简单的重构示例 040
最后再读一遍 049
小结 053
参考文献 054
第6 章 一次编程活动 055
保龄球比赛 056
小结 104
第II 部分 敏捷设计
第7 章 什么是敏捷设计 109
软件出了什么错 110
设计的臭味―腐坏软件的气味 110
是什么诱发了软件的腐坏 113
敏捷团队不允许软件腐坏 113
Copy 程序 114
敏捷开发人员如何知道要做什么 119
保持尽可能好的设计 119
小结 120
参考文献 120
第8 章 单一职责原则(SRP) 121
单一职责原则(SRP) 122
什么是职责 123
分离耦合的职责 124
持久化 125
小结 125
参考文献 126
第9 章 开放- 关闭原则(OCP) 127
开放- 关闭原则(OCP) 128
描述 128
关键是抽象 128
Shape 程序 130
违背OCP 130
设计糟糕 133
遵循 OCP 133
是的,前面是在逗你玩儿呢 134
预测变化和“自然的”结构 135
放置“钩子” 135
吃一堑,长一智 136
刺激变化 136
使用抽象获得显式封闭性 136
使用“数据驱动”的方法获取封闭性 138
小结 140
参考文献 140
第10 章 里氏替换原则(LSP) 141
里氏替换原则(LSP) 141
一个违背 LSP 的简单例子 142
正方形和矩形,一个更不容易察觉的违背OCP 的例子 143
真正的问题 147
有效性并非本质属性 148
IS-A 是关于行为的 148
基于契约的设计 149
在单元测试中制定契约 150
一个实际的例子 150
动机 150
问题 152
不符合 LSP 的解决方案 153
符合 LSP 的解决方案 154
用提取公共部分的重构手法代替继承 155
启发式规则和习惯用法 158
派生类中的退化方法 158
从派生类中抛出异常 159
小结 159
参考文献 159
第11 章 依赖倒置原则(DIP) 161
依赖倒置原则(DIP) 161
层次化 162
倒置的接口所有权 163
依赖于抽象 164
一个简单的例子 165
找出潜在的抽象 166
暖炉示例 167
动态多态性和静态多态性 169
小结 170
参考文献 170
第12 章 接口隔离原则(ISP) 171
接口污染 171
分离客户端就是分离接口 173
客户端接口施加的反作用力 173
ISP:接口隔离原则 174
类接口和对象接口 174
通过委托来隔离 175
使用多重继承隔离接口 176
示例:ATM 的用户界面的例子 177
多参数形式(Polyad)和单参数形式(Monad) 183
对客户端进行分组 183
改变接口 184
小结 184
参考文献 184
第III 部分 薪水支付系统
第13 章 命令模式和主动对象模式 191
第14 章 模板方法模式和策略模式:继承和委托 203
第15 章 外观模式和中介者模式 219
第16 章 单例模式和单状态模式 225
第17 章 空对象模式 239
第18 章 案例学习:薪水支付系统(一) 243
第19 章 案例学习:薪水支付系统(二) 257
第Ⅳ部分 打包薪水支付系统
第20 章 包的设计原则 317
第21 章 工厂模式 339
第22 章 薪水支付系统(三) 347
第Ⅴ部分 气象站案例
第23 章 组合模式 369
第24 章 观察者模式:回归为模式 373
第25 章 抽象服务器,适配器和桥接模式 397
第26 章 代理模式和 STAIRWAY TO HEAVEN 模式:管理第三方API 409
第27 章 案例学习:气象站 443
第Ⅵ部分 ETS 案例
第28 章 访问者模式 483
第29 章 状态模式 525
第30 章 ETS 框架 554
附录
附录A UML 表示法(一):CGI 示例 584
附录B UML 表示法(二):统计多路复用器 611
附录C 两家公司的讽刺故事 633
附录D 源码即设计 649
— 没有更多了 —
以下为对购买帮助不大的评价