当前位置:首页 > 工业技术
设计模式之禅
设计模式之禅

设计模式之禅PDF电子书下载

工业技术

  • 电子书积分:16 积分如何计算积分?
  • 作 者:秦小波著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2010
  • ISBN:9787111295440
  • 页数:545 页
图书介绍:本书写作方式新颖、语言精炼、行文幽默、阐述深刻、注重实战,注定会成为设计模式领域的里程碑之作。本书共分为五部分,第一部分全面讲述了面向对象程序设计的6大原则;第二部分深入浅出地阐述了23种设计模式,将这23种设计模式与我们耳熟能详的历史故事结合在了一起,趣味性极强;第三部分对各种彼此之间有关联的设计模式进行了分析和比较,不仅告诉读者何时应该使用何种设计模式,而且还告诉读者如何在实际开发中运用这些设计模式,这是全书的精华部分之一,是目前所有设计模式类书籍都不具备的;第四部分是全书内容的升华,讲解了设计模式的混编,深入地剖析了如何将各种设计模式结合起来使用;第五部分是附录,对23种设计模式的定义进行了摘录和翻译,原汁原味,同时还提供了一份设计模式彩图手册,读者可以拆下来,随身携带,便于参考。
《设计模式之禅》目录

第一部分 大旗不挥,谁敢冲锋——6大设计原则全新解读第1章 单一职责原则 2

1.1 我是“牛”类,我可以担任多职吗 2

1.2 绝杀技,打破你的传统思维 3

1.3 我单纯,所以我快乐 6

1.4 最佳实践 7

第2章 里氏替换原则 8

2.1 爱恨纠葛的父子关系 8

2.2 纠纷不断,规则压制 9

2.3 最佳实践 18

第3章 依赖倒置原则 19

3.1 依赖倒置原则的定义 19

3.2 言而无信,你太需要契约 20

3.3 依赖的三种写法 25

3.4 最佳实践 26

第4章 接口隔离原则 28

4.1 接口隔离原则的定义 28

4.2 美女何其多,观点各不同 29

4.3 保证接口的纯洁性 33

4.4 最佳实践 35

第5章 迪米特法则 36

5.1 迪米特法则的定义 36

5.2 我的知识你知道得越少越好 36

5.3 最佳实践 43

第6章 开闭原则 44

6.1 开闭原则的定义 44

6.2 开闭原则的庐山真面目 44

6.3 为什么要采用开闭原则 49

6.4 如何使用开闭原则 51

6.5 最佳实践 55

第二部分 真刀实枪——23种设计模式完美演绎第7章 单例模式 58

7.1 我是皇帝我独苗 58

7.2 单例模式的定义 59

7.3 单例模式的应用 60

7.3.1 单例模式的优点 60

7.3.2 单例模式的缺点 60

7.3.3 单例模式的使用场景 61

7.3.4 单例模式的注意事项 61

7.4 单例模式的扩展 62

7.5 最佳实践 64

第8章 工厂方法模式 65

8.1 女娲造人的故事 65

8.2 工厂方法模式的定义 69

8.3 工厂方法模式的应用 70

8.3.1 工厂方法模式的优点 70

8.3.2 工厂方法模式的使用场景 71

8.4 工厂方法模式的扩展 71

8.5 最佳实践 77

第9章 抽象工厂模式 78

9.1 女娲的失误 78

9.2 抽象工厂模式的定义 83

9.3 抽象工厂模式的应用 86

9.3.1 抽象工厂模式的优点 86

9.3.2 抽象工厂模式的缺点 86

9.3.3 抽象工厂模式的使用场景 86

9.3.4 抽象工厂模式的注意事项 86

9.4 最佳实践 87

第10章 模板方法模式 88

10.1 辉煌工程——制造悍马 88

10.2 模板方法模式的定义 93

10.3 模板方法模式的应用 94

10.3.1 模板方法模式的优点 94

10.3.2 模板方法模式的缺点 95

10.3.3 模板方法模式的使用场景 95

10.4 模板方法模式的扩展 95

10.5 最佳实践 99

第11章 建造者模式 100

11.1 变化是永恒的 100

11.2 建造者模式的定义 109

11.3 建造者模式的应用 111

11.3.1 建造者模式的优点 111

11.3.2 建造者模式的使用场景 111

11.3.3 建造者模式的注意事项 111

11.4 建造者模式的扩展 111

11.5 最佳实践 112

第12章 代理模式 113

12.1 我是游戏至尊 113

12.2 代理模式的定义 116

12.3 代理模式的使用场景 118

12.3.1 代理模式的优点 118

12.3.2 代理模式的使用场景 119

12.4 代理模式的扩展 119

12.4.1 普通代理 119

12.4.2 强制代理 121

12.4.3 代理是有个性的 126

12.4.4 虚拟代理 128

12.4.5 动态代理 128

12.5 最佳实践 134

第13章 原型模式 135

13.1 个性化电子账单 135

13.2 原型模式的定义 141

13.3 原型模式的应用 142

13.3.1 原型模式的优点 142

13.3.2 原型模式的使用场景 142

13.4 原型模式的注意事项 143

13.4.1 构造函数不会被执行 143

13.4.2 浅拷贝和深拷贝 144

13.4.3 clone与final两个冤家 146

13.5 最佳实践 146

第14章 中介者模式 147

14.1 进销存管理是这个样子的吗 147

14.2 中介者模式的定义 156

14.3 中介者模式的应用 159

14.3.1 中介者模式的优点 159

14.3.2 中介者模式的缺点 159

14.3.3 中介者模式的使用场景 159

14.4 中介者模式的实际应用 160

14.5 最佳实践 161

第15章 命令模式 162

15.1 项目经理也难当 162

15.2 命令模式的定义 170

15.3 命令模式的应用 173

15.3.1 命令模式的优点 173

15.3.2 命令模式的缺点 173

15.3.3 命令模式的使用场景 173

15.4 命令模式的扩展 173

15.4.1 未讲完的故事 173

15.4.2 反悔问题 174

15.5 最佳实践 175

第16章 责任链模式 178

16.1 古代妇女的枷锁——“三从四德” 178

16.2 责任链模式的定义 186

16.3 责任链模式的应用 189

16.3.1 责任链模式的优点 189

16.3.2 责任链模式的缺点 190

16.3.3 责任链模式的注意事项 190

16.4 最佳实践 190

第17章 装饰模式 192

17.1 罪恶的成绩单 192

17.2 装饰模式的定义 198

17.3 装饰模式应用 201

17.3.1 装饰模式的优点 201

17.3.2 装饰模式的缺点 201

17.3.3 装饰模式的使用场景 201

17.4 最佳实践 201

第18章 策略模式 203

18.1 刘备江东娶妻,赵云他容易吗 203

18.2 策略模式的定义 206

18.3 策略模式的应用 208

18.3.1 策略模式的优点 208

18.3.2 策略模式的缺点 208

18.3.3 策略模式的使用场景 209

18.3.4 策略模式的注意事项 209

18.4 策略模式的扩展 209

18.5 最佳实践 214

第19章 适配器模式 215

19.1 业务发展——上帝才能控制 215

19.2 适配器模式的定义 221

19.3 适配器模式的应用 223

19.3.1 适配器模式的优点 223

19.3.2 适配器模式的使用场景 224

19.3.3 适配器模式的注意事项 224

19.4 适配器模式的扩展 224

19.5 最佳实践 229

第20章 迭代器模式 230

20.1 整理项目信息——苦差事 230

20.2 迭代器模式的定义 236

20.3 迭代器模式的应用 239

20.4 最佳实践 239

第21章 组合模式 240

21.1 公司的人事架构是这样的吗 240

21.2 组合模式的定义 253

21.3 组合模式的应用 255

21.3.1 组合模式的优点 255

21.3.2 组合模式的缺点 256

21.3.3 组合模式的使用场景 256

21.3.4 组合模式的注意事项 256

21.4 组合模式的扩展 256

21.4.1 真实的组合模式 256

21.4.2 透明的组合模式 257

21.4.3 组合模式的遍历 259

21.5 最佳实践 260

第22章 观察者模式 262

22.1 韩非子身边的卧底是谁派来的 262

22.2 观察者模式的定义 271

22.3 观察者模式的应用 273

22.3.1 观察者模式的优点 273

22.3.2 观察者模式的缺点 274

22.3.3 观察者模式的使用场景 274

22.3.4 观察者模式的注意事项 274

22.4 观察者模式的扩展 275

22.4.1 Java世界中的观察者模式 275

22.4.2 项目中真实的观察者模式 276

22.4.3 订阅发布模型 277

22.5 最佳实践 277

第23章 门面模式 278

23.1 我要投递信件 278

23.2 门面模式的定义 283

23.3 门面模式的应用 284

23.3.1 门面模式的优点 284

23.3.2 门面模式的缺点 285

23.3.3 门面模式的使用场景 285

23.4 门面模式的注意事项 285

23.4.1 一个子系统可以有多个门面 285

23.4.2 门面不参与子系统内的业务逻辑 286

23.5 最佳实践 288

第24章 备忘录模式 289

24.1 如此追女孩子,你还不乐 289

24.2 备忘录模式的定义 294

24.3 备忘录模式的应用 297

24.3.1 备忘录模式的使用场景 297

24.3.2 备忘录模式的注意事项 297

24.4 备忘录模式的扩展 297

24.4.1 clone方式的备忘录 297

24.4.2 多状态的备忘录模式 300

24.4.3 多备份的备忘录 304

24.4.4 封装得更好一点 305

24.5 最佳实践 307

第25章 访问者模式 308

25.1 员工的隐私何在 308

25.2 访问者模式的定义 316

25.3 访问者模式的应用 320

25.3.1 访问者模式的优点 320

25.3.2 访问者模式的缺点 320

25.3.3 访问者模式的使用场景 320

25.4 访问者模式的扩展 321

25.4.1 统计功能 321

25.4.2 多个访问者 323

25.4.3 双分派 326

25.5 最佳实践 328

第26章 状态模式 329

26.1 城市的纵向发展功臣——电梯 329

26.2 状态模式的定义 341

26.3 状态模式的应用 343

26.3.1 状态模式的优点 343

26.3.2 状态模式的缺点 344

26.3.3 状态模式的使用场景 344

26.3.4 状态模式的注意事项 344

26.4 最佳实践 344

第27章 解释器模式 346

27.1 四则运算你会吗 346

27.2 解释器模式的定义 352

27.3 解释器模式的应用 354

27.3.1 解释器模式的优点 354

27.3.2 解释器模式的缺点 354

27.3.3 解释器模式使用的场景 355

27.3.4 解释器模式的注意事项 355

27.4 最佳实践 355

第28章 享元模式 356

28.1 内存溢出,司空见惯 356

28.2 享元模式的定义 361

28.3 享元模式的应用 364

28.3.1 享元模式的优点和缺点 364

28.3.2 享元模式的使用场景 364

28.4 享元模式的扩展 365

28.4.1 线程安全的问题 365

28.4.2 性能平衡 366

28.5 最佳实践 369

第29章 桥梁模式 371

29.1 我有一个梦想 371

29.2 桥梁模式的定义 379

29.3 桥梁模式的应用 381

29.3.1 桥梁模式的优点 381

29.3.2 桥梁模式的使用场景 382

29.3.3 桥梁模式的注意事项 382

29.4 最佳实践 382

第三部分 谁的地盘谁做主——设计模式PK 384

第30章 创建类模式大PK 384

30.1 工厂方法模式VS建造者模式 384

30.1.1 按工厂方法建造超人 384

30.1.2 按建造者模式建造超人 386

30.1.3 最佳实践 389

30.2 抽象工厂模式VS建造者模式 390

30.2.1 按抽象工厂模式生产车辆 390

30.2.2 按建造者模式生产车辆 394

30.2.3 最佳实践 399

第31章 结构类模式大PK 400

31.1 代理模式VS装饰模式 400

31.1.1 代理模式 400

31.1.2 装饰模式 402

31.1.3 最佳实践 403

31.2 装饰模式VS适配器模式 404

31.2.1 用装饰模式描述丑小鸭 404

31.2.2 用适配器模式实现丑小鸭 407

31.2.3 最佳实践 410

第32章 行为类模式大PK 411

32.1 命令模式VS策略模式 411

32.1.1 策略模式实现压缩算法 411

32.1.2 命令模式实现压缩算法 414

32.1.3 小结 419

32.2 策略模式VS状态模式 420

32.2.1 策略模式实现人生 420

32.2.2 状态模式实现人生 423

32.2.3 小结 425

32.3 观察者模式VS责任链模式 426

32.3.1 责任链模式实现DNS解析过程 427

32.3.2 触发链模式实现DNS解析过程 432

32.3.3 小结 437

第33章 跨战区PK 438

33.1 策略模式VS桥梁模式 438

33.1.1 策略模式实现邮件发送 439

33.1.2 桥梁模式实现邮件发送 442

33.1.3 最佳实践 445

33.2 门面模式VS中介者模式 446

33.2.1 中介者模式实现工资计算 446

33.2.2 门面模式实现工资计算 451

33.2.3 最佳实践 454

33.3 包装模式群PK 455

33.3.1 代理模式 455

33.3.2 装饰模式 457

33.3.3 适配器模式 459

33.3.4 桥梁模式 461

33.3.5 最佳实践 464

第四部分 完美世界——设计模式混编 466

第34章 命令模式+责任链模式 466

34.1 搬移UNIX的命令 466

34.2 混编小结 481

第35章 工厂方法模式+策略模式 483

35.1 迷你版的交易系统 483

35.2 混编小结 493

第36章 观察者模式+中介者模式 495

36.1 事件触发器的开发 495

36.2 混编小结 508

第37章 规格模式 509

37.1 规格模式的实现 509

37.2 最佳实践 521

第38章 MVC框架 526

38.1 MVC框架的实现 526

38.1.1 MVC的系统架构 528

38.1.2 模型管理器 534

38.1.3 值栈 538

38.1.4 视图管理器 538

38.1.5 工具类 542

38.2 最佳实践 544

返回顶部