《Java设计模式》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(美)Steven John Metsker,(美)William C.Wake著;龚波,赵彩琳,陈蓓译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2007
  • ISBN:7115156883
  • 页数:309 页
图书介绍:本书讨论了多种特殊的模式并包含了大量的自我突破题目。

1.1 为什么使用模式 1

第1章 设计模式介绍 1

1.2 为什么使用设计模式 2

1.3 为什么使用Java 2

1.4 UML 3

1.5 自我突破 3

1.6 本书的组织方式 3

1.7 欢迎来到Oozinoz公司 4

1.8 小结 5

第一部分 接口型模式 8

第2章 接口型模式介绍 8

2.1 接口和抽象类 8

2.2 接口和责任 9

2.4 超越普通接口 10

2.3 小结 10

第3章 Adapter(适配器)模式 11

3.1 接口适配 11

3.2 类和对象适配器 14

3.3 为JTable适配数据 16

3.4 标识适配器 20

3.5 小结 20

第4章 Facade(外观)模式 21

4.1 外观类、工具类和示例类 21

4.2 重构为Facade模式 22

4.3 小结 29

第5章 Composite(组合)模式 30

5.1 常见的组合 30

5.2 Composite模式的递归特性 31

5.3 组合、树和环 32

5.4 含有环的Composite模式 35

5.5 环的影响 38

5.6 小结 39

第6章 Bridge(桥接)模式 40

6.1 经典范例:普通抽象 40

6.2 从抽象到Bridge模式 42

6.3 应用Bridge模式的驱动程序 43

6.4 数据库驱动程序 44

6.5 小结 45

第二部分 责任型模式 48

第7章 责任型模式介绍 48

7.1 常见的责任型模式 48

7.2 通过可见性属性控制责任 49

7.3 小结 50

7.4 超越普通责任型模式 50

第8章 Singleton(单例)模式 51

8.1 Singleton模式机制 51

8.2 单例和线程 52

8.3 识别单例 53

8.4 小结 54

第9章 Observer(观察者)模式 55

9.1 经典范例:GUI中的Observer模式 55

9.2 模型/视图/控制器 58

9.3 维护Observable类对象 62

9.4 小结 64

10.1 经典范例:GUI 的Mediator模式 65

第10章 Mediator(中介者)模式 65

10.2 利用Mediator模式管理关系完整性 68

10.3 小结 73

第11章 Proxy(代理)模式 74

11.1 经典范例:图像代理 74

11.2 重新思考图像代理 78

11.3 远程代理 79

11.4 动态代理 84

11.5 小结 87

第12章 Chain of Responsibility(责任链)模式 88

12.1 常见的责任链 88

12.2 重构为Chain of Responsibility模式 89

12.3 固定责任链 91

12.4 不带组合结构的Chain of Responsibility模式 92

12.5 小结 93

第13章 Flyweight(享元)模式 94

13.1 不变性 94

13.2 提取享元中不可变的部分 95

13.3 共享享元 96

13.4 小结 99

第三部分 构造型模式 102

第14章 构造型模式介绍 102

14.1 普通构造的挑战 102

14.2 小结 103

14.3 超越普通构造 103

第15章 Builder(生成器)模式 105

15.1 常见的生成器 105

15.2 根据约束构造对象 107

15.3 根据不完整信息构造符合约束的对象 109

15.4 小结 109

第16章 Factory Method(工厂方法)模式 110

16.1 经典范例:迭代器 110

16.2 识别Factory Method模式 111

16.3 决定要实例化的对象 111

16.4 并行层次结构中的Factory Method模式 112

16.5 小结 114

第17章 Abstract Factory(抽象工厂)模式 115

17.1 经典范例:GUI工具包 115

17.2 抽象工厂和工厂方法 118

17.3 包和抽象工厂 121

17.4 小结 122

第18章 Prototype(原型)模式 123

18.1 作为工厂的原型 123

18.2 利用克隆进行原型化 124

18.3 小结 126

第19章 Memento(备忘录)模式 127

19.1 经典范例:使用备忘录实现撤销操作 127

19.2 备忘录的持久性 132

19.3 跨越会话的持久性备忘录 132

19.4 小结 135

第四部分 操作型模式 138

第20章 操作型模式介绍 138

20.1 操作和方法 138

20.3 异常 139

20.2 签名 139

20.4 算法和多态性 140

20.5 小结 141

20.6 超越普通操作 141

第21章 Template Method(模板方法)模式 142

21.1 经典范例:排序 142

21.2 完成算法 145

21.3 Template Method模式钩子 147

21.4 重构为Template Method模式 148

21.5 小结 149

第22章 State(状态)模式 150

22.1 状态建模 150

22.2 重构为State模式 153

22.3 使状态成为常量 156

22.4 小结 157

第23章 Strategy(策略)模式 158

23.1 策略建模 158

23.2 重构为Strategy模式 160

23.3 比较Strategy模式和State模式 163

23.4 比较Strategy模式和Template Method模式 164

23.5 小结 164

第24章 Command(命令)模式 165

24.1 经典范例:菜单命令 165

24.2 使用Command模式提供服务 167

24.3 Command模式钩子 168

24.4 Command模式与其他模式的关系 169

24.5 小结 170

25.1 Interpreter模式范例 171

第25章 Interpreter(解释器)模式 171

25.2 解释器、语言和解析器 180

25.3 小结 180

第五部分 扩展型模式 184

第26章 扩展型模式介绍 184

26.1 面向对象设计原则 184

26.2 Liskov替换原则(LSP) 184

26.3 Demeter法则 185

26.4 消除代码坏味 186

26.5 超越普通的扩展 187

26.6 小结 187

第27章 Decorator(装饰器)模式 188

27.1 经典范例:流和输出器 188

27.2 函数包装器 193

27.3 与其他模式相关的Decorator模式 199

27.4 小结 199

第28章 Iterator(迭代器)模式 200

28.1 常规迭代 200

28.2 线程安全的迭代 201

28.3 对组合结构进行迭代 206

28.3.1 组合枚举器的深度 211

28.3.2 枚举叶节点 212

28.4 小结 213

第29章 Visitor(访问者)模式 214

29.1 Visitor模式机制 214

29.2 常见的Visitor模式 216

29.3 Visitor模式循环 220

29.4 Visitor模式危机 223

29.5 小结 224

第六部分 附录 226

附录A 指南 226

A.1 从本书中学到更多 226

A.2 理解设计模式的典型范例 226

A.3 在实践中应用设计模式 227

A.4 不断地学习 228

附录B 参考答案 229

B.1 接口型模式介绍(第2章) 229

B.2 Adapter(适配器)模式(第3章) 230

B.3 Fa?ade(外观)模式(第4章) 233

B.4 Composite(组合)模式(第5章) 235

B.5 Bridge(桥接)模式(第6章) 237

B.6 责任型模式介绍(第7章) 239

B.7 Singleton(单例)模式(第8章) 240

B.8 Observer(观察者)模式(第9章) 241

B.9 Mediator(中介者)模式(第10章) 245

B.10 Proxy(代理)模式(第11章) 248

B.11 Chain of Responsibility(责任链)模式(第12章) 249

B.12 Flyweight(享元)模式(第13章) 252

B.13 构造型模式介绍(第14章) 254

B.14 Builder(生成器)模式(第15章) 255

B.15 Factory Method(工厂方法)模式(第16章) 257

B.16 Abstract Factory(抽象工厂)模式(第17章) 260

B.17 Prototype(原型)模式(第18章) 262

B.18 Memento(备忘录)模式(第19章) 264

B.19 操作模式介绍(第20章) 266

B.20 Template Method(模板方法)模式(第21章) 267

B.21 State(状态)模式(第22章) 268

B.22 Strategy(策略)模式(第23章) 270

B.23 Command(命令)模式(第24章) 271

B.24 Interpreter(解释器)模式(第25章) 274

B.25 扩展型模式介绍(第26章) 275

B.26 Decorator(装饰器)模式(第27章) 276

B.27 Iterator(迭代器)模式(第28章) 278

B.28 Visitor(访问者)模式(第29章) 279

C.3 使用JUnit测试代码 282

C.2 构建Oozinoz源代码 282

C.1 获取和使用源代码 282

附录C Oozinoz源代码 282

C.4 自己查找文件 283

C.5 小结 283

附录D UML概览 284

D.1 类 284

D.2 类间关系 285

D.3 接口 286

D.4 对象 287

D.5 状态 288

词汇表 289

参考文献 294

索引 296

设计模式列表 308