《易学——设计模式》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:郭志学编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2009
  • ISBN:9787115195524
  • 页数:396 页
图书介绍:本书是笔者在多年项目开发过程中的经验总结,它通过丰富的实例由浅入深、循序渐进地介绍了设计模式的基本原理、核心思想和使用时机,从而帮助软件设计人员快速掌握设计模式的使用方法,并能将其应用的实战中。 本书首先对GoF总结出来的23种设计模式进行整体介绍,让读者大体了解设计模式的分类,然后在对具体的设计模式进行讲解前,先讲解了UML语言和一些建模工具的使用方法,目的是使读者先了解工具的使用,在后面的讲解中能够对一些图形的表示达成共识。接着按照创建型模式、结构型模式和行为型模式的分类,对具体的设计模式进行讲解,目的是使读者在学习某一类设计模式时,能够对这个分类下的所有设计模式都有一个了解,并能够进行对比分析,认识同一类的设计模式有哪些不同,分别应该使用在哪些不同的场合。在讲解具体的设计模式时,每章都会用一个初学者和技术大拿对话的方式进行,以增加读者阅读的兴趣。首先给出不使用这种设计模式时的做法,再给出使用设计模式后的做法,目的是让读者能够清楚的认识到此时使用设计模式的好处。接着每章会对设计模式的定义、原理、使用时机进行总结,并给出一个具体的实例来加深读者对此设计模式的应用,最后会给出使用这种设

第1篇 设计模式基础 1

第1章 欲速则不达:了解设计模式 1

1.1 小巩的疑惑 1

1.2 从历史开始 3

1.3 设计模式的分类 4

1.4 如何学习设计模式 5

1.5 本书的学习线路图 6

1.6 学习设计模式的资源 6

第2章 磨刀不误砍柴工:UML语言概述 7

2.1 UML语言的历史 7

2.2 UML语言简介 7

2.3 使用ROSE工具 12

2.4 使用Togther 16

2.5 使用Visio 21

第2篇 创建型模式详解 23

第3章 术业有专攻:简单工厂模式(Simple Factory) 23

3.1 先谈创建模式的分类 23

3.2 从动物园说起 24

3.3 简单工厂模式简介 27

3.4 简单工厂模式的实际应用 28

3.5 简单工厂模式的优缺点 29

第4章 精益求精:工厂方法模式(Factory Method) 30

4.1 为什么要使用工厂方法模式 30

4.2 再谈动物园管理系统的设计 31

4.3 工厂方法模式简介 34

4.4 回顾简单工厂模式下的薪资程序设计 36

4.5 用工厂方法模式实现薪资程序的设计 37

4.6 工厂方法模式的优缺点 38

第5章 再接再厉:抽象工厂模式(Abstract Factory) 39

5.1 为什么要使用抽象工厂模式 39

5.2 再谈动物园管理系统的设计 40

5.3 抽象工厂模式简介 45

5.4 回顾工厂方法模式下的薪资程序设计 47

5.5 用抽象工厂模式实现薪资程序的设计 48

5.6 抽象工厂模式的优缺点 51

第6章 孜孜不倦:创建者模式(Builder) 52

6.1 为什么要使用创建者模式 52

6.2 从摩托车的组装谈起 53

6.3 创建者模式简介 57

6.4 回顾抽象工厂模式下的薪资程序设计 58

6.5 用创建者模式实现薪资程序的设计 60

6.6 创建者模式的优缺点 60

第7章 照猫画虎:原型模式(Prototype) 61

7.1 为什么要使用原型模式 61

7.2 从配钥匙谈起 61

7.3 原型模式的简介 63

7.4 Java中原型模式的实际应用 64

7.5 原型模式的优缺点 68

第8章 独一无二:单例模式(Singleton) 69

8.1 为什么要使用单例模式 69

8.2 从系统日志的记录谈起 69

8.3 单例模式简介 73

8.4 单例模式在Log4j中的应用 74

8.5 单例模式的优缺点 78

第3篇 结构型模式详解 79

第9章 一目了然:外观模式(Facade) 79

9.1 从系统间的衔接谈起 79

9.2 外观模式简介 79

9.3 用外观模式实现持久层框架的设计 81

9.4 外观模式的优缺点 104

第10章 改头换面:适配器模式(Adapter) 105

10.1 为什么要使用适配器模式 105

10.2 再谈系统间的衔接 105

10.3 适配器模式简介 107

10.4 适配器模式在Spring中的实际应用 108

10.5 适配器模式在Java的I/O中的实际应用 112

10.6 适配器模式的优缺点 117

第11章 越俎代庖:代理模式(Proxy) 118

11.1 为什么要使用代理模式 118

11.2 从如何记录系统日志谈起 118

11.3 代理模式简介 121

11.4 代理模式在Spring的AOP中的实际应用 122

11.5 代理模式在Hibernate的延迟加载中的实际应用 130

11.6 代理模式的优缺点 148

11.7 小结 148

第12章 真人不露相:装饰模式(Decorator) 149

12.1 为什么要使用装饰模式—从手机彩铃谈起 149

12.2 装饰模式简介 153

12.3 装饰模式在Java的I/O中的实际应用 155

12.4 装饰模式在JUnit中的实际应用 167

12.5 装饰模式的优缺点 170

12.6 小结 170

第13章 游刃有余:桥模式(Bridge) 171

13.1 为什么要使用桥模式 171

13.2 从汽车制造谈起 173

13.3 桥模式简介 177

13.4 JDBC中桥模式的实际应用 178

13.5 桥模式的优缺点 196

13.6 小结 196

第14章 如法炮制:组合模式(Composite) 197

14.1 为什么要使用组合模式 197

14.2 从企业组织机构的设计谈起 198

14.3 组合模式简介 201

14.4 组合模式在算术运算中的实际应用 202

14.5 组合模式在JUnit中的实际应用 205

14.6 组合模式的优缺点 213

14.7 小结 214

第15 章源源不断:享元模式(Flyweight) 215

15.1 为什么要使用享元模式—从文字编辑器谈起 215

15.2 享元模式简介 220

15.3 用享元模式实现数据库连接池的设计 221

15.4 享元模式的优缺点 227

15.5 小结 227

第4篇 行为型模式详解 229

第16章 按部就班:模板方法模式(Template Method) 229

16.1 为什么要使用模板方法模式 229

16.2 再谈薪资程序的设计 232

16.3 模板方法模式简介 234

16.4 模板方法模式在Spring的Jdbc Template中的实际应用 235

16.5 模板方法模式在Spring的Hibernate Template中的实际应用 249

16.6 模板方法模式的优缺点 264

16.7 小结 264

第17章 风吹草动:观察者模式(Observer) 265

17.1 为什么要使用观察者模式 265

17.2 从股票系统的设计谈起 267

17.3 观察者模式简介 270

17.4 观察者模式在Java中的实际应用. 272

17.5 观察者模式在JUnit中的实际应用 275

17.6 观察者模式的优缺点 281

17.7 小结 281

第18章 变化多端:状态模式(State) 282

18.1 为什么要使用状态模式 282

18.2 从公文系统的设计谈起 283

18.3 状态模式简介 286

18.4 使用状态模式来实现QQ的状态 287

18.5 状态模式的优缺点 289

18.6 小结 289

第19章 明修栈道,暗度陈仓:策略模式(Strategy) 290

19.1 为什么要使用策略模式 290

19.2 再谈薪资系统的设计 295

19.3 策略模式简介 299

19.4 策略模式的优缺点 300

19.5 小结 300

第20章 循序渐进:职责链模式(Chain of Responsibility) 301

20.1 为什么要使用职责链模式 301

20.2 从医院看病谈起 302

20.3 职责链模式简介 305

20.4 用职责链模式实现财务借支审批系统 306

20.5 职责链模式的优缺点 309

20.6 小结 310

第21章 独具匠心:命令模式(Command) 311

21.1 为什么要使用命令模式 311

21.2 从观看NBA比赛谈起 313

21.3 命令模式简介 315

21.4 命令模式在MVC框架中的具体应用 317

21.5 命令模式在JUnit中的实际应用 328

21.6 命令模式的优缺点 334

21.7 小结 334

第22章 步调一致:访问者模式(Visitor) 335

22.1 为什么要使用访问者模式 335

22.2 从超市购物谈起 338

22.3 访问者模式简介 342

22.4 访问者模式的优缺点 343

22.5 小结 343

第23章 左右逢源:调停者模式(Mediator) 344

23.1 为什么要使用调停者模式 344

23.2 从MSN聊天谈起 345

23.3 调停者模式简介 348

23.4 调停者模式在交通红绿灯中的具体应用 349

23.5 调停者模式的优缺点 352

23.6 小结 352

第24章 白纸黑字:备忘录模式(Memento) 353

24.1 为什么要使用备忘录模式 353

24.2 从会议纪要谈起 353

24.3 备忘录模式简介 355

24.4 备忘录模式的优缺点 356

24.5 小结 356

第25章 周而复始:迭代器模式(Iterator) 357

25.1 为什么要使用迭代器模式 357

25.2 从Java的迭代器谈起 357

25.3 迭代器模式简介 358

25.4 迭代器模式在Java中的具体应用 360

25.5 迭代器模式的优缺点 382

25.6 小结 382

第26章 望文生义:解释器模式(Interpreter) 383

26.1 从文字翻译谈起 383

26.2 解释器模式简介 385

26.3 解释器模式的优缺点 386

26.4 小结 386

第5篇 设计模式的综合应用 387

第27章 无招胜有招:如何在设计中应用设计模式 387

27.1 面向对象的设计原则 387

27.2 Java中接口和抽象类的区别 389

27.3 综合对比各个设计模式的思想. 394

27.4 不要过度使用设计模式 396

27.5 小结 396