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

  • 购买积分:13 如何计算积分?
  • 作  者:(美)史蒂芬·约翰·梅特斯克,(美)威廉·维克著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2012
  • ISBN:9787121178269
  • 页数:376 页
图书介绍:本书通过一个完整的Java项目对经典著作Design Patterns一书介绍的23种设计模式进行了深入分析与讲解,实践性强,却又不失对模式本质的探讨。本书创造性地将这些模式分为5大类别,以充分展现各个模式的重要特征,并结合UML类图与对应的Java程序,以便于读者更好地理解。全书给出了大量的练习,作为对读者的挑战,以启发思考,督促读者通过实践练习的方式来掌握设计模式。同时,作者又给出了这些练习的参考答案,使读者可以印证比较,找出自己的不足,提高设计技能。

第1章 绪论 1

为何需要模式 1

为何需要设计模式 2

为何选择Java 3

UML 3

挑战 4

本书的组织 4

欢迎来到Oozinoz公司 6

小结 6

第1部分 接口型模式 8

第2章 接口型模式介绍 8

接口与抽象类 8

接口与职责 10

小结 11

超越普通接口 12

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

接口适配 13

类与对象适配器 17

JTable对数据的适配 20

识别适配器 24

小结 25

第4章 外观(Facade)模式 27

外观类、工具类和示例类 27

重构到外观模式 29

小结 38

第5章 合成(Composite)模式 39

常规组合 39

合成模式中的递归行为 40

组合、树与环 42

含有环的合成模式 47

环的影响 50

小结 51

第6章 桥接(Bridge)模式 52

常规抽象:桥接模式的一种方法 52

从抽象到桥接模式 54

使用桥接模式的驱动器 57

数据库驱动 57

小结 59

第2部分 职责型模式 62

第7章 职责型模式介绍 62

常规的职责型模式 62

根据可见性控制职责 64

小结 65

超越普通职责 65

第8章 单例(Singleton)模式 67

单例模式机制 67

单例和线程 68

识别单例 70

小结 71

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

经典范例:GUI中的观察者模式 72

模型/视图/控制器 76

维护Observable对象 82

小结 84

第10章 调停者(Mediator)模式 85

经典范例:GUI调停者(Mediator) 85

关系一致性中的调停者模式 89

小结 96

第11章 代理(Proxy)模式 97

经典范例:图像代理 97

重新思考图片代理 102

远程代理 104

动态代理 109

小结 114

第12章 职责链(Chain of Responsibility)模式 115

现实中的职责链模式 115

重构为职责链模式 117

固定职责链 119

没有组合结构的职责链模式 121

小结 121

第13章 享元(Flyweight)模式 122

不变性 122

抽取享元中不可变的部分 123

共享享元 125

小结 128

第3部分 构造型模式 130

第14章 构造型模式介绍 130

构造函数的挑战 130

小结 132

超出常规的构造函数 132

第15章 构建者(Builder)模式 134

常规的构建者 134

在约束条件下构建对象 137

可容错的构建者 139

小结 140

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

经典范例:迭代器 141

识别工厂方法 142

控制要实例化的类 143

并行层次结构中的工厂方法模式 145

小结 147

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

经典范例:图形用户界面工具箱 148

抽象工厂和工厂方法 153

包和抽象工厂 157

小结 157

第18章 原型(Prototype)模式 158

作为工厂的原型 158

利用克隆进行原型化 159

小结 162

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

经典范例:使用备忘录模式执行撤销操作 163

备忘录的持久性 170

跨会话的持久性备忘录 170

小结 174

第4部分 操作型模式 176

第20章 操作型模式介绍 176

操作和方法 176

签名 177

异常 178

算法和多态 179

小结 180

超越常规的操作 181

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

经典范例:排序 182

完成一个算法 186

模板方法钩子 188

重构为模板方法模式 189

小结 191

第22章 状态(State)模式 193

对状态进行建模 193

重构为状态模式 197

使状态成为常量 201

小结 203

第23章 策略(Strategy)模式 204

策略建模 204

重构到策略模式 207

比较策略模式与状态模式 211

比较策略模式和模板方法模式 211

小结 212

第24章 命令(Command)模式 213

经典范例:菜单命令 213

使用命令模式来提供服务 216

命令钩子 217

命令模式与其他模式的关系 219

小结 220

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

一个解释器示例 221

解释器、语言和解析器 233

小结 234

第5部分 扩展型模式 236

第26章 扩展型模式介绍 236

面向对象设计的原则 236

Liskov替换原则 237

迪米特法则 238

消除代码的坏味道 239

超越常规的扩展 240

小结 241

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

经典范例:流和输出器 242

函数包装器 250

装饰器模式和其他设计模式的关系 257

小结 258

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

普通的迭代 259

线程安全的迭代 261

基于合成结构的迭代 267

小结 277

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

访问者模式机制 278

常规的访问者模式 280

Visitor环 286

访问者模式的危机 290

小结 292

附录A指南 293

附录B 答案 297

附录C Oozinoz源代码 366

附录D UML概览 369

参考文献 375