第Ⅰ部分敏捷开发
第一章敏捷实践
1.1敏捷联盟
1.2原则
1.3结论
参考文献
第二章极限编程概述
2.1极限编程实践
2.2结论
参考文献
第三章计划
3.1初始探索
3.2发布计划
3.3迭代计划
3.4任务计划
3.5迭代
3.6结论
参考文献
第四章测试
4.1测试驱动的开发方法
4.2验收测试
4.3结论
参考文献
第五章重构
5.1素数产生程序一个简单的重构示例
5.2结论
参考文献
第六章一次编程实践
6.1保龄球比赛
6.2结论
第Ⅱ部分敏捷设计
第七章什么是敏捷设计
7.1软件出了什么错
7.2设计的臭味——腐化软件的气味
7.3“Copy”程序
7.4保持尽可能好的设计
7.5结论
参考文献
第八章单一责任原则(SRP)
8.1单一职责原则(SRP)
8.2结论
参考文献
第九章开放—封闭原则(OCP)
9.1开放—封闭原则(OCP)
9.2描述
9.3关键是抽象
9.4结论
参考文献
第十章Liskov替换原则(LSP)
10.1Liskov替换原则(LSP)
10.2一个违反LSP的简单例子
10.3正方形和矩形,更微妙的违规
10.4一个实际的例子
10.5用提取公共部分的方法代替继承
10.6启发式规则和习惯用法
10.7结论
参考文献
第十一章依赖倒置原则(DIP)
11.1依赖倒置原则(DIP)
11.2层次化
11.3一个简单的例子
11.4熔炉示例
11.5结论
参考文献
第十二章接口隔离原则(ISP)
12.1接口污染
12.2分离客户就是分离接口
12.3接口隔离原则(ISP)
12.4类接口与对象接口
12.5ATM用户界面的例子
12.6结论
参考文献
第Ⅲ部分薪水支付案例研究
第十三章COMMAND模式和ACTIVEOBJECT模式
第十四章TEMPLATEMETHOD模式和STRATEGY模式:继承与委托
第十五章FACADE模式和MEDIATOR模式
第十六章SINGLETON模式和MONOSTATE模式
第十七章NULLOBJECT模式
第十八章薪水支付案例研究:第一次迭代开始
第十九章薪水支付案例研究:实现
第Ⅳ部分打包薪水支付系统
第二十章包的设计原则
第二十一章FACTORY模式
第二十二章薪水支付案例研究(第2部分)
第Ⅴ部分气象站案例研究
第二十三章COMPOSITE模式
第二十四章OBSERVER模式——回归为模式
第二十五章ABSTRACTSERVER模式、ADAPTER模式和BRIDGE模式
第二十六章PROXY模式和STAIRWAYTOHEAVEN模式:管理第三方API
第二十七章案例研究:气象站
第Ⅵ部分ETS案例研究
第二十八章VISITOR模式
第二十九章STATE模式
第三十章ETS框架
附录
附录AUML表示法Ⅰ:CGI示例
附录BUML表示法Ⅱ:统计多路复用器
附录C两个公司的讽刺小品
附录D源代码就是设计
索引