第一部分 敏捷开发
第1章 敏捷实践
第2章 极限编程概述
第3章 计划
第4章 测试
第5章 重构
第6章 一次编程实践
第二部分 敏捷设计
第7章 什么是敏捷设计
第8章 SRP:单一职责原则
第9章 OCP:开放-封闭原则
第10章 LSP:LISKOV替换原则
第11章 DIP:依赖倒置原则
第12章 ISP:接口隔离原则
第13章 写给C#程序员的UML概述
第14章 使用UML
第15章 状态图
第16章 对象图
第17章 用例
第18章 顺序图
第19章 类图
第20章 咖啡的启示
第三部分 薪水支付案例研究
第21章 COMMAND模式和ACTIVE OBJECT模式:多功能与多任务
第22章 TEMPLATE METHOD模式和STRATEGY模式:继承和委托
第23章 FACADE模式和MEDIATOR模式
第24章 SINGLETON模式和MONOSTATE模式
第25章 NULL OBJECT模式
第26章 薪水支付案例研究:第一次迭代开始
第27章 薪水支付案例研究:实现
第四部分 打包薪水支付系统
第28章 包和组件的设计原则
第29章 FACTORY模式
第30章 薪水支付案例研究:包分析
第31章 COMPOSITE模式
第32章 OBSERVER——演化至模式
第33章 ABSTRACT SERVER模式、 ADAPTER模式和BRIDGE模式
第34章 PROXY模式和GATEWAY模式:管理第三方API
第35章 VISITOR模式
第36章 STATE模式
第37章 薪水支付案例研究:数据库
第38章 薪水支付系统用户界面:Model-View-Presenter
附录
索引