《敏捷软件开发 原则、模式与实践》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:(美)Robert C.Martin著;邓辉译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2003
  • ISBN:7302071977
  • 页数:476 页
图书介绍:本书向读者展示软件开发一种全新的方法——敏捷软件开发,它不同于传统的过程开发。

第Ⅰ部分 敏捷开发 2

第1章 敏捷实践 2

1.1 敏捷联盟 3

1.2 原则 6

1.3 结论 8

参考文献 8

第2章 极限编程概述 9

2.1 极限编程实践 9

2.2 结论 16

参考文献 16

第3章 计划 17

3.1 初始探索 17

3.2 发布计划 18

3.3 迭代计划 18

3.4 任务计划 19

3.5 迭代 20

3.6 结论 20

参考文献 20

第4章 测试 21

4.1 测试驱动的开发方法 21

4.2 验收测试 24

4.3 结论 27

参考文献 27

第5章 重构 28

5.1 素数产生程序:一个简单的重构示例 29

5.2 结论 38

参考文献 38

第6章 一次编程实践 39

6.1 保龄球比赛 39

6.2 结论 75

第Ⅱ部分 敏捷设计 79

第7章 什么是敏捷设计 79

7.1 软件出了什么错 79

7.2 设计的臭味——腐化软件的气味 80

7.3 “Copy”程序 82

7.4 保持尽可能好的设计 86

7.5 结论 86

参考文献 87

第8章 单一职责原则(SRP) 88

8.1 单一职责原则(SRP) 88

8.2 结论 91

参考文献 91

第9章 开放-封闭原则(OCP) 92

9.1 开放-封闭原则(OCP) 92

9.2 描述 93

9.3 关键是抽象 93

9.4 结论 101

参考文献 101

第10章 Liskov替换原则(LSP) 102

10.1 Liskov替换原则(LSP) 102

10.2 一个违反LSP的简单例子 103

10.3 正方形和矩形,更微妙的违规 104

10.4 一个实际的例子 108

10.5 用提取公共部分的方法代替继承 112

10.6 启发式规则和习惯用法 114

10.7 结论 115

参考文献 115

第11章 依赖倒置原则(DIP) 116

11.1 依赖倒置原则(DIP) 116

11.2 层次化 117

11.3 一个简单的例子 118

11.4 熔炉示例 120

11.5 结论 122

参考文献 122

第12章 接口隔离原则(ISP) 123

12.1 接口污染 123

12.2 分离客户就是分离接口 124

12.3 接口隔离原则(ISP) 125

12.4 类接口与对象接口 125

12.5 ATM用户界面的例子 127

12.6 结论 132

参考文献 132

第Ⅲ部分 薪水支付案例研究 137

第13章 COMMAND模式和ACTIVE OBJECT模式 137

13.1 简单的COMMAND 138

13.2 事务操作 139

13.3 UNDO 140

13.4 ACTIVE OBJECT模式 141

13.5 结论 144

参考文献 144

第14章 TEMPLATE METHOD模式和STRATEGY模式:继承与委托 145

14.1 TEMPLATE METHOD模式 145

14.2 STRATEGY模式 151

14.3 结论 155

参考文献 155

第15章 FACADE模式和MEDIATOR模式 156

15.1 FACADE模式 156

15.2 MEDIATOR模式 157

15.3 结论 159

参考文献 159

第16章 SINGLETON模式和MONOSTATE模式 160

16.1 SINGLETON模式 161

16.2 MONOSTATE模式 163

16.3 结论 169

参考文献 169

第17章 NULL OBJECT模式 170

17.1 结论 172

参考文献 172

第18章 薪水支付案例研究:第一次迭代开始 173

18.1 介绍 173

18.2 基于用例分析 174

18.3 反思:我们学到了什么 180

18.4 找出潜在的抽象 180

18.5 结论 182

参考文献 182

第19章 薪水支付案例研究:实现 183

19.1 增加雇员 183

19.2 删除雇员 188

19.3 时间卡、销售凭条以及服务费用 190

19.4 更改雇员属性 196

19.5 支付雇员薪水 208

19.6 主程序 220

19.7 数据库 221

19.8 薪水支付系统设计总结 222

参考文献 222

第Ⅳ部分 打包薪水支付系统 224

第20章 包的设计原则 224

20.1 如何进行包的设计 224

20.2 粒度:包的内聚性原则 225

20.3 稳定性:包的耦合性原则 227

20.4 自顶向下设计 231

20.5 稳定依赖原则 232

20.6 稳定抽象原则 235

20.7 结论 237

第21章 FACTORY模式 238

21.1 依赖关系环 239

21.2 可替换的工厂 240

21.3 对测试支架使用对象工厂 241

21.4 使用对象工厂有多么重要 242

21.5 结论 242

参考文献 242

第22章 薪水支付案例研究(第2部分) 243

22.1 包结构和表示法 243

22.2 应用公共封闭原则(CCP) 245

22.3 应用重用发布等价原则(REP) 246

22.4 耦合和封装 247

22.5 度量 249

22.6 度量薪水支付应用程序 250

22.7 对象工厂 253

22.8 最终的包结构 255

22.9 结论 256

参考文献 256

第Ⅴ部分 气象站案例研究 258

第23章 COMPOSITE模式 258

23.1 示例:组合命令 259

23.2 多重性还是非多重性 259

第24章 OBSERVER模式——回归为模式 261

24.1 数字时钟 261

24.2 结论 275

24.3 OBSERVER模式 275

参考文献 277

第25章 ABSTRACT SERVER模式、ADAPTER模式和BRIDGE模式 278

25.1 ABSTRACT SERVER模式 279

25.2 ADAPTER模式 279

25.3 BRIDGE模式 283

25.4 结论 285

参考文献 285

第26章 PROXY模式和STAIRWAY TO HEAVEN模式:管理第三方API 286

26.1 PROXY模式 286

26.2 STAIRWAY TO HEAVEN模式 303

26.3 可以用于数据库的其他模式 309

26.4 结论 310

参考文献 310

第27章 案例研究:气象站 311

27.1 Cloud公司 311

27.2 Nimbus-LC软件设计 313

27.3 结论 333

参考文献 333

27.4 Nimbus-LC需求概述 333

27.5 Nimbus-LC用例 334

27.6 Nimbus-LC发布计划 336

第Ⅵ部分 ETS案例研究 340

第28章 VISITOR模式 340

28.1 VISITOR设计模式系列 340

28.2 VISITOR模式 340

28.3 ACYCLIC VISITOR模式 344

28.4 DECORATOR模式 353

28.5 EXTENSION OBJECT模式 358

28.6 结论 367

参考文献 367

第29章 STATE模式 368

29.1 有限状态自动机概述 368

29.2 实现技术 369

29.3 STATE模式 374

29.4 应该在哪些地方使用状态机 379

29.5 作为GUI中的高层应用策略 379

29.6 结论 382

29.7 程序 382

参考文献 388

第30章 ETS框架 389

30.1 介绍 389

30.2 框架 392

30.3 框架设计 394

30.4 TEMPLATE METHOD模式的一个例子 399

30.5 TASKMASTER构架 407

30.6 结论 410

参考文献 410

附录 411

附录A UML表示法Ⅰ:CGI示例 411

A.1 课程登记系统:问题描述 412

A.2 小结 431

参考文献 431

附录B UML表示法Ⅱ:统计多路复用器 432

B.1 统计多路复用器的定义 432

B.2 结论 448

参考文献 448

附录C 两个公司的讽刺小品 449

附录D 源代码就是设计 459

索引 467