Robert C. Martin、Micah Martin编著的《敏捷软件开发》由四个部分和两个附录组成。第一部分:敏捷开发。本部分描述了敏捷开发的概念。首先介绍了敏捷联盟宣言,然后提供了对极限编程(XP)的概述,接着讨论了许多阐明个别极限编程实践的小案例,特别是那些影响设计和编写代码方式的实践。第二部分:敏捷设计。本部分中的各章谈论了面向对象软件设计:什么是面向对象软件设计,管理复杂性的问题以及技术,面向对象类设计的一些原则。本部分晟后几章讲述UML实用子集。第三部分:薪水支付案例研究。它描述了一个简单的批量处理薪水支付系统的面向对象设计和C#实现。本部分的前几章描述了该案例研究会用到的一些设计模式。最后一章包含了完整的案例研究,这也是本书中最大和最完整的一个案例。第四部分:打包薪水支付系统。本部分开始描述面向对象包设计的一些原则。接着,通过增量地打包上一部分中的类来继续阐明这些原则。本部分最后讲述薪水支付应用的数据库和UI设计。接下来是两个附录:附录A,“双公司记”:附录B,Jack Reeves的文章“什么是软件”。
Robert C. Martin、Micah Martin编著的《敏捷软件开发》中深入而生动地使用真实案例讲解了面向对象设计的基本原则、重要的设计模式、UML和敏捷方法。
《敏捷软件开发》Java版曾荣获2003年第13届Jolt大奖,是公认的典著作。本书是C#程序员提升功力的绝佳教程,也可用作高校计算机、软件工程专业本科生、研究生的教材或参考书。
第一部分 敏捷开发
第1章 敏捷实践 3
1.1 敏捷联盟 4
1.1.1 人和交互重于过程和工具 4
1.1.2 可以工作的软件重于面面俱到的文档 5
1.1.3 客户合作重于合同谈判 5
1.1.4 随时应对变化重于遵循计划 6
1.2 原则 6
1.3 结论 8
1.4 参考文献 8
第2章 极限编程概述 9
第3章 计划 16
第4章 测试 22
第5章 重构 29
第6章 一次编程实践 40
第二部分 敏捷设计
第7章 什么是敏捷设计 81
第8章 SRP:单一职责原则 89
第9章 OCP:开放-封闭原则 93
第10章 LSP:Liskov替换原则 102
第11章 DIP:依赖倒置原则 115
第12章 ISP:接口隔离原则 122
第13章 写给C#程序员的UML概述 132
第14章 使用UML 138
第15章 状态图 150
第16章 对象图 155
第17章 用例 160
第18章 顺序图 163
第19章 类图 177
第20章 咖啡的启示 189
第三部分 薪水支付案例研究
第21章 COMMAND模式和ACTIVE OBJECT模式:多功能与多任务 219
第22章 TEMPLATE METHOD模式和STRATEGY模式:继承和委托 229
第23章 FACADE模式和MEDIATOR模式 240
第24章 SINGLETON模式和MONOSTATE模式 244
第25章 NULL OBJECT模式 254
第26章 薪水支付案例研究:第一次迭代开始 257
第27章 薪水支付案例研究:实现 268
第四部分 打包薪水支付系统
第28章 包和组件的设计原则 308
第29章 FACTORY模式 323
第30章 薪水支付案例研究:包分析 330
第31章 COMPOSITE模式 346
第32章 OBSERVER——演化至模式 349
第33章 ABSTRACT SERVER模式、 ADAPTER模式和BRIDGE模式 368
第34章 PROXY模式和GATEWAY模式:管理第三方API 377
第35章 VISITOR模式 405
第36章 STATE模式 433
第37章 薪水支付案例研究:数据库 452
第38章 薪水支付系统用户界面:Model-View-Presenter 479
附录A 双公司记 506
附录B 什么是软件 516
索引 524