第Ⅰ部分 敏捷开发
第一章 敏捷实践
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.1 Liskov替换原则(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.5 ATM用户界面的例子
12.6 结论
参考文献
第Ⅲ部分 薪水支付案例研究
第十三章 COMMAND模式和ACTIVE OBJECT模式
第十四章 TEMPLATE METHOD模式和STRATEGY模式:继承与委托
第十五章 FACADE模式和MEDIATOR模式
第十六章 SINGLETON模式和MONOSTATE模式
第十七章 NULL OBJECT模式
第十八章 薪水支付案例研究:第一次迭代开始
第十九章 薪水支付案例研究:实现
第Ⅳ部分 打包薪水支付系统
第二十章 包的设计原则
第二十一章 FACTORY模式
第二十二章 薪水支付案例研究(第2部分)
第Ⅴ部分 气象站案例研究
第二十三章 COMPOSITE模式
第二十四章 OBSERVER模式——回归为模式
第二十五章 ABSTRACT SERVER模式、ADAPTER模式和BRIDGE模式
第二十六章 PROXY模式和STAIRWAY TO HEAVEN模式:管理第三方API
第二十七章 案例研究:气象站
第Ⅵ部分 ETS案例研究
第二十八章 VISITOR模式
第二十九章 STATE模式
第三十章 ETS框架
附录
附录A UML表示法Ⅰ:CGI示例
附录B UML表示法Ⅱ:统计多路复用器
附录C 两个公司的讽刺小品
附录D 源代码就是设计
索引
· · · · · · (
收起)
评分
☆☆☆☆☆
很棒的一本书,深入浅出的讲解了敏捷的关键内容。
评分
☆☆☆☆☆
说是敏捷开发,实则设计模式也。。。
评分
☆☆☆☆☆
作者对于面向对象分析设计的理解达到了宗师的级别。对于设计模式的讲解又深入浅出。此外本文的翻译质量也可以,读起来很流畅。
评分
☆☆☆☆☆
晦涩
评分
☆☆☆☆☆
这样说吧: 应届生读一本C++的砖, 再读一下这本, 就可以上战场了
评分
☆☆☆☆☆
孟岩为这本书写了一个代序.这个代序很长,有两页半,其中一页半用来讲述孟岩本人和这本书的感情纠葛. 我为大家复述一下这段感人至深的故事.下面孟先生代表孟岩,小doocaubm和Asd代表什么,请您自己判断. 2001年秋天,北京,孟先生那时候已经颇有些成就了,见识也颇有些广泛了,但是他...
评分
☆☆☆☆☆
评分
☆☆☆☆☆
很早就想看这本书了。在旧书摊买了本旧版的英文影印的,但最终还是看了新出的c#版的。新版把旧版的代码翻成了c#,在内容上做了一些取舍,增加了uml的相关章节。但是感觉作者c#的功力不够,翻得代码有些问题,有些概念也不清楚。如直接把成员变量暴露出去,在需要时再改成属性,...
评分
☆☆☆☆☆
看到前面有评论说,此书与敏捷的关系不大,颇有同感。所谓敏捷,那就是代码先写了再说,且看我们是如何做到,这就是读了这本书的感受。 中文版没有把特定的英文缩写在第一次引用时列出来(只能在后面的索引表里找到),让我很不爽,比如DIP和SRP。不过,说到底还是中文看得快...
评分
☆☆☆☆☆
首先我以个人开发者的角度来评论这本书,因个人经历所限,并未有大型团队协作,多人并行开发的经历,所以我比较关注的地方在于如何能适应需求变更,快速高质量的满足客户需求。我想每个开发者都应该有感受,需求是不断不断变化的,特别现在互联网时代,客户很可能都不知道自己...