《设计模式 第2版》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:刘伟,夏莉,于俊洋,黄辛迪
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2018
  • ISBN:9787302511052
  • 页数:433 页
图书介绍:本书系统介绍了设计模式。全书共分27章,内容包括统一建模语言基础知识、面向对象设计原则、设计模式概述、简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式、单例模式、适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式、代理模式、职责链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式和访问者模式。

第1章 统一建模语言基础知识 1

1.1 UML简介 1

1.1.1 UML的诞生 1

1.1.2 UML的结构 2

1.1.3 UML的特点 4

1.2 类图 5

1.2.1 类与类图 5

1.2.2 类之间的关系 7

1.2.3 类图实例 15

1.3 顺序图 16

1.3.1 顺序图定义 17

1.3.2 顺序图组成元素与绘制 17

1.3.3 顺序图实例 19

1.4 状态图 20

1.4.1 状态图定义 20

1.4.2 状态图组成元素与绘制 21

1.4.3 状态图实例 21

1.5 本章小结 22

思考与练习 23

第2章 面向对象设计原则 24

2.1 面向对象设计原则概述 24

2.1.1 软件的可维护性和可复用性 24

2.1.2 面向对象设计原则简介 26

2.2 单一职责原则 27

2.2.1 单一职责原则定义 27

2.2.2 单一职责原则分析 27

2.2.3 单一职责原则实例 27

2.3 开闭原则 29

2.3.1 开闭原则定义 29

2.3.2 开闭原则分析 29

2.3.3 开闭原则实例 29

2.4 里氏代换原则 31

2.4.1 里氏代换原则定义 31

2.4.2 里氏代换原则分析 31

2.4.3 里氏代换原则实例 32

2.5 依赖倒转原则 34

2.5.1 依赖倒转原则定义 34

2.5.2 依赖倒转原则分析 34

2.5.3 依赖倒转原则实例 37

2.6 接口隔离原则 39

2.6.1 接口隔离原则定义 39

2.6.2 接口隔离原则分析 39

2.6.3 接口隔离原则实例 40

2.7 合成复用原则 41

2.7.1 合成复用原则定义 41

2.7.2 合成复用原则分析 41

2.7.3 合成复用原则实例 42

2.8 迪米特法则 43

2.8.1 迪米特法则定义 43

2.8.2 迪米特法则分析 44

2.8.3 迪米特法则实例 45

2.9 本章小结 46

思考与练习 46

第3章 设计模式概述 48

3.1 设计模式的诞生与发展 48

3.1.1 模式的诞生与定义 48

3.1.2 软件模式 50

3.1.3 设计模式的发展 50

3.2 设计模式的定义与分类 52

3.2.1 设计模式的定义 52

3.2.2 设计模式的基本要素 52

3.2.3 设计模式的分类 53

3.3 GoF设计模式简介 54

3.4 设计模式的优点 56

3.5 本章小结 56

思考与练习 57

第4章 简单工厂模式 58

4.1 创建型模式 58

4.1.1 创建型模式概述 58

4.1.2 创建型模式简介 59

4.2 简单工厂模式动机与定义 60

4.2.1 模式动机 60

4.2.2 模式定义 61

4.3 简单工厂模式结构与分析 61

4.3.1 模式结构 61

4.3.2 模式分析 62

4.4 简单工厂模式实例与解析 64

4.4.1 简单工厂模式实例之简单电视机工厂 64

4.4.2 简单工厂模式实例之权限管理 69

4.5 简单工厂模式效果与应用 73

4.5.1 模式优缺点 73

4.5.2 模式适用环境 74

4.5.3 模式应用 74

4.6 简单工厂模式扩展 75

4.7 本章小结 75

思考与练习 76

第5章 工厂方法模式 77

5.1 工厂方法模式动机与定义 77

5.1.1 简单工厂模式的不足 77

5.1.2 模式动机 78

5.1.3 模式定义 78

5.2 工厂方法模式结构与分析 79

5.2.1 模式结构 79

5.2.2 模式分析 80

5.3 工厂方法模式实例与解析 83

5.3.1 工厂方法模式实例之电视机工厂 83

5.3.2 工厂方法模式实例之日志记录器 87

5.4 工厂方法模式效果与应用 88

5.4.1 模式优缺点 88

5.4.2 模式适用环境 88

5.4.3 模式应用 89

5.5 工厂方法模式扩展 90

5.6 本章小结 91

思考与练习 91

第6章 抽象工厂模式 92

6.1 抽象工厂模式动机与定义 92

6.1.1 模式动机 92

6.1.2 模式定义 94

6.2 抽象工厂模式结构与分析 94

6.2.1 模式结构 94

6.2.2 模式分析 94

6.3 抽象工厂模式实例与解析 97

6.3.1 抽象工厂模式实例之电器工厂 97

6.3.2 抽象工厂模式实例之数据库操作工厂 102

6.4 抽象工厂模式效果与应用 102

6.4.1 模式优缺点 102

6.4.2 模式适用环境 103

6.4.3 模式应用 103

6.5 抽象工厂模式扩展 104

6.6 本章小结 104

思考与练习 105

第7章 建造者模式 106

7.1 建造者模式动机与定义 106

7.1.1 模式动机 106

7.1.2 模式定义 107

7.2 建造者模式结构与分析 107

7.2.1 模式结构 107

7.2.2 模式分析 108

7.3 建造者模式实例与解析 110

7.4 建造者模式效果与应用 115

7.4.1 模式优缺点 115

7.4.2 模式适用环境 115

7.4.3 模式应用 115

7.5 建造者模式扩展 116

7.6 本章小结 117

思考与练习 117

第8章 原型模式 119

8.1 原型模式动机与定义 119

8.1.1 模式动机 119

8.1.2 模式定义 120

8.2 原型模式结构与分析 120

8.2.1 模式结构 120

8.2.2 模式分析 121

8.3 原型模式实例与解析 123

8.3.1 原型模式实例之邮件复制(浅克隆) 123

8.3.2 原型模式实例之邮件复制(深克隆) 126

8.4 原型模式效果与应用 129

8.4.1 模式优缺点 129

8.4.2 模式适用环境 129

8.4.3 模式应用 130

8.5 原型模式扩展 130

8.6 本章小结 135

思考与练习 135

第9章 单例模式 136

9.1 单例模式动机与定义 136

9.1.1 模式动机 136

9.1.2 模式定义 137

9.2 单例模式结构与分析 137

9.2.1 模式结构 137

9.2.2 模式分析 138

9.3 单例模式实例与解析 139

9.3.1 单例模式实例之身份证号码 139

9.3.2 单例模式实例之打印池 141

9.4 单例模式效果与应用 144

9.4.1 模式优缺点 144

9.4.2 模式适用环境 144

9.4.3 模式应用 145

9.5 单例模式扩展 145

9.6 本章小结 147

思考与练习 147

第10章 适配器模式 149

10.1 结构型模式 149

10.1.1 结构型模式概述 149

10.1.2 结构型模式简介 150

10.2 适配器模式动机与定义 151

10.2.1 模式动机 151

10.2.2 模式定义 152

10.3 适配器模式结构与分析 152

10.3.1 模式结构 152

10.3.2 模式分析 153

10.4 适配器模式实例与解析 155

10.4.1 适配器模式实例之仿生机器人 155

10.4.2 适配器模式实例之加密适配器 158

10.5 适配器模式效果与应用 162

10.5.1 模式优缺点 162

10.5.2 模式适用环境 163

10.5.3 模式应用 163

10.6 适配器模式扩展 164

10.6.1 缺省适配器模式 164

10.6.2 双向适配器 166

10.7 本章小结 167

思考与练习 167

第11章 桥接模式 168

11.1 桥接模式动机与定义 168

11.1.1 模式动机 168

11.1.2 模式定义 169

11.2 桥接模式结构与分析 169

11.2.1 模式结构 170

11.2.2 模式分析 171

11.3 桥接模式实例与解析 173

11.3.1 桥接模式实例之模拟毛笔 173

11.3.2 桥接模式实例之跨平台视频播放器 179

11.4 桥接模式效果与应用 179

11.4.1 模式优缺点 179

11.4.2 模式适用环境 180

11.4.3 模式应用 180

11.5 桥接模式扩展 181

11.6 本章小结 182

思考与练习 183

第12章 组合模式 184

12.1 组合模式动机与定义 184

12.1.1 模式动机 184

12.1.2 模式定义 185

12.2 组合模式结构与分析 186

12.2.1 模式结构 186

12.2.2 模式分析 187

12.3 组合模式实例与解析 189

12.3.1 组合模式实例之水果盘 189

12.3.2 组合模式实例之文件浏览 193

12.4 组合模式效果与应用 193

12.4.1 模式优缺点 193

12.4.2 模式适用环境 194

12.4.3 模式应用 194

12.5 组合模式扩展 195

12.6 本章小结 196

思考与练习 197

第13章 装饰模式 198

13.1 装饰模式动机与定义 198

13.1.1 模式动机 198

13.1.2 模式定义 199

13.2 装饰模式结构与分析 200

13.2.1 模式结构 200

13.2.2 模式分析 201

13.3 装饰模式实例与解析 202

13.3.1 装饰模式实例之变形金刚 202

13.3.2 装饰模式实例之多重加密系统 206

13.4 装饰模式效果与应用 211

13.4.1 模式优缺点 211

13.4.2 模式适用环境 212

13.4.3 模式应用 212

13.5 装饰模式扩展 214

13.6 本章小结 216

思考与练习 216

第14章 外观模式 217

14.1 外观模式动机与定义 217

14.1.1 模式动机 217

14.1.2 模式定义 218

14.2 外观模式结构与分析 219

14.2.1 模式结构 219

14.2.2 模式分析 219

14.3 外观模式实例与解析 220

14.3.1 外观模式实例之电源总开关 221

14.3.2 外观模式实例之文件加密 225

14.4 外观模式效果与应用 225

14.4.1 模式优缺点 225

14.4.2 模式适用环境 226

14.4.3 模式应用 226

14.5 外观模式扩展 228

14.6 本章小结 229

思考与练习 230

第15章 享元模式 231

15.1 享元模式动机与定义 231

15.1.1 模式动机 231

15.1.2 模式定义 232

15.2 享元模式结构与分析 232

15.2.1 模式结构 232

15.2.2 模式分析 233

15.3 享元模式实例与解析 235

15.3.1 享元模式实例之共享网络设备(无外部状态) 235

15.3.2 享元模式实例之共享网络设备(有外部状态) 239

15.4 享元模式效果与应用 243

15.4.1 模式优缺点 243

15.4.2 模式适用环境 243

15.4.3 模式应用 243

15.5 享元模式扩展 244

15.6 本章小结 245

思考与练习 246

第16章 代理模式 247

16.1 代理模式动机与定义 247

16.1.1 模式动机 247

16.1.2 模式定义 248

16.2 代理模式结构与分析 248

16.2.1 模式结构 248

16.2.2 模式分析 249

16.3 代理模式实例与解析 250

16.3.1 代理模式实例之论坛权限控制代理 250

16.3.2 代理模式实例之日志记录代理 254

16.4 代理模式效果与应用 255

16.4.1 模式优缺点 255

16.4.2 模式适用环境 255

16.4.3 模式应用 256

16.5 代理模式扩展 257

16.6 本章小结 261

思考与练习 261

第17章 职责链模式 262

17.1 行为型模式 262

17.1.1 行为型模式概述 262

17.1.2 行为型模式简介 263

17.2 职责链模式动机与定义 265

17.2.1 模式动机 265

17.2.2 模式定义 266

17.3 职责链模式结构与分析 266

17.3.1 模式结构 266

17.3.2 模式分析 267

17.4 职责链模式实例与解析 268

17.5 职责链模式效果与应用 273

17.5.1 模式优缺点 273

17.5.2 模式适用环境 274

17.5.3 模式应用 274

17.6 职责链模式扩展 275

17.7 本章小结 275

思考与练习 276

第18章 命令模式 277

18.1 命令模式动机与定义 277

18.1.1 模式动机 277

18.1.2 模式定义 278

18.2 命令模式结构与分析 278

18.2.1 模式结构 278

18.2.2 模式分析 279

18.3 命令模式实例与解析 281

18.3.1 命令模式实例之电视机遥控器 281

18.3.2 命令模式实例之功能键设置 286

18.4 命令模式效果与应用 286

18.4.1 模式优缺点 286

18.4.2 模式适用环境 287

18.4.3 模式应用 287

18.5 命令模式扩展 288

18.6 本章小结 291

思考与练习 291

第19章 解释器模式 293

19.1 解释器模式动机与定义 293

19.1.1 模式动机 293

19.1.2 模式定义 294

19.2 解释器模式结构与分析 294

19.2.1 模式结构 294

19.2.2 模式分析 295

19.3 解释器模式实例与解析 298

19.4 解释器模式效果与应用 303

19.4.1 模式优缺点 303

19.4.2 模式适用环境 304

19.4.3 模式应用 304

19.5 解释器模式扩展 304

19.6 本章小结 305

思考与练习 306

第20章 迭代器模式 307

20.1 迭代器模式动机与定义 307

20.1.1 模式动机 307

20.1.2 模式定义 308

20.2 迭代器模式结构与分析 308

20.2.1 模式结构 308

20.2.2 模式分析 309

20.3 迭代器模式实例与解析 313

20.4 迭代器模式效果与应用 318

20.4.1 模式优缺点 318

20.4.2 模式适用环境 319

20.4.3 模式应用 319

20.5 迭代器模式扩展 321

20.6 本章小结 322

思考与练习 322

第21章 中介者模式 323

21.1 中介者模式动机与定义 323

21.1.1 模式动机 323

21.1.2 模式定义 324

21.2 中介者模式结构与分析 325

21.2.1 模式结构 325

21.2.2 模式分析 326

21.3 中介者模式实例与解析 328

21.4 中介者模式效果与应用 334

21.4.1 模式优缺点 334

21.4.2 模式适用环境 334

21.4.3 模式应用 334

21.5 中介者模式扩展 335

21.6 本章小结 335

思考与练习 336

第22章 备忘录模式 337

22.1 备忘录模式动机与定义 337

22.1.1 模式动机 337

22.1.2 模式定义 338

22.2 备忘录模式结构与分析 338

22.2.1 模式结构 338

22.2.2 模式分析 339

22.3 备忘录模式实例与解析 342

22.4 备忘录模式效果与应用 346

22.4.1 模式优缺点 346

22.4.2 模式适用环境 347

22.4.3 模式应用 347

22.5 备忘录模式扩展 347

22.6 本章小结 348

思考与练习 348

第23章 观察者模式 349

23.1 观察者模式动机与定义 349

23.1.1 模式动机 349

23.1.2 模式定义 350

23.2 观察者模式结构与分析 351

23.2.1 模式结构 351

23.2.2 模式分析 352

23.3 观察者模式实例与解析 354

23.3.1 观察者模式实例之猫、狗与老鼠 354

23.3.2 观察者模式实例之自定义登录控件 358

23.4 观察者模式效果与应用 365

23.4.1 模式优缺点 365

23.4.2 模式适用环境 366

23.4.3 模式应用 366

23.5 观察者模式扩展 367

23.6 本章小结 368

思考与练习 369

第24章 状态模式 370

24.1 状态模式动机与定义 370

24.1.1 模式动机 370

24.1.2 模式定义 371

24.2 状态模式结构与分析 372

24.2.1 模式结构 372

24.2.2 模式分析 372

24.3 状态模式实例与解析 375

24.3.1 状态模式实例之论坛用户等级 375

24.3.2 状态模式实例之银行账户 382

24.4 状态模式效果与应用 383

24.4.1 模式优缺点 383

24.4.2 模式适用环境 384

24.4.3 模式应用 384

24.5 状态模式扩展 384

24.6 本章小结 387

思考与练习 388

第25章 策略模式 389

25.1 策略模式动机与定义 389

25.1.1 模式动机 389

25.1.2 模式定义 390

25.2 策略模式结构与分析 390

25.2.1 模式结构 391

25.2.2 模式分析 391

25.3 策略模式实例与解析 393

25.3.1 策略模式实例之排序策略 393

25.3.2 策略模式实例之旅游出行策略 399

25.4 策略模式效果与应用 399

25.4.1 模式优缺点 399

25.4.2 模式适用环境 400

25.4.3 模式应用 400

25.5 策略模式扩展 402

25.6 本章小结 402

思考与练习 403

第26章 模板方法模式 404

26.1 模板方法模式动机与定义 404

26.1.1 模式动机 404

26.1.2 模式定义 405

26.2 模板方法模式结构与分析 406

26.2.1 模式结构 406

26.2.2 模式分析 406

26.3 模板方法模式实例与解析 409

26.3.1 模板方法模式实例之银行业务办理流程 409

26.3.2 模板方法模式实例之数据库操作模板 412

26.4 模板方法模式效果与应用 412

26.4.1 模式优缺点 412

26.4.2 模式适用环境 413

26.4.3 模式应用 413

26.5 模板方法模式扩展 414

26.6 本章小结 416

思考与练习 417

第27章 访问者模式 418

27.1 访问者模式动机与定义 418

27.1.1 模式动机 418

27.1.2 模式定义 419

27.2 访问者模式结构与分析 419

27.2.1 模式结构 420

27.2.2 模式分析 421

27.3 访问者模式实例与解析 423

27.3.1 访问者模式实例之购物车 423

27.3.2 访问者模式实例之奖励审批系统 428

27.4 访问者模式效果与应用 429

27.4.1 模式优缺点 429

27.4.2 模式适用环境 430

27.4.3 模式应用 430

27.5 访问者模式扩展 431

27.6 本章小结 431

思考与练习 432

参考文献 433