序
前言
第1章 模式概述_
1.1 为什么使用模式
1.2 为什么要应用设计模式
1.3 为什么使用Java
1.4 为什么使用UML
1.5 为什么说本书是一本手册
1.6 本书的组织方式
1.7 欢迎来到Oozinoz公司
1.8 源代码免责声明
1.9 小结j
第一部分接口型模式
第2章 接口型模式介绍
2.1 普通的接口
2.2 接口和责任
2.3 在接口中加入常量
2.4 小结
2.5 普通接口无法提供的内容
第3章 适配器模式
3.1 在适配之前需要深谋远虑
3.2 类适配器和对象适配器
3.3 无法预料的适配
3.4 识别适配器模式
3.5 小结
第4章 外观模式
4.1 重构为外观模式
4.2 外观类、工具类以及示例类
4.3 小结
第5章 组合模式
5.1 常见的组合模式
5.2 组合模式中的递归特性
5.3 图论中的树
5.4 含有环的组合对象模型
5.5 环状组合对象模型的特点
5.6 小结
第6章 桥接模式
6.1 桥接模式的典型例子:驱动程序
6.2 重构为桥接模型
6.3 使用List接口的桥接模式
6.4 小结
第二部分责任型模式
第7章 介绍责任型模式
7.1 普通的责任
7.2 通过设置可见性来控制责任
7.3 小结
7.4 普通责任无法提供的内容
第8章 单体模式
8.1 单体模式的机制
8.2 单体模式与线程
8.3 识别单体模式
8.4 小结
第9章 观察者模式
9.1 一个典型的例子:Swing中的观察者模式
9.2 模型/视图,控制器
9.3 维护Observable类对象
9.4 小结
第10章 中介者模式
10.1 一个典型的例子:GUI中介者
10.2 利用中介者模式管理关系完整性
10.3 小结
第ll章 代理模式
11.1 一个典型的例子:图像代理
11.2 重新审议后的图像代理
11.3 远程代理
11.4 小结
第12章 责任链模式
12.1 不同的查询机制
12.2 重构为责任链模式
12.3 固定责任链
12.4 不带组合结构的责任链模式
12.5 小结
第13章 享元模式
13.1 认识享元模式
13.2 不变性
13.3 提取享元中不可变的部分
13.4 共享享元
13.5 小结
第三部分构造型模式
第14章 构造型模式介绍
14.1 普通的构造
14.2 与超类合作
14.3 类内部的合作
14.4 小结
14.5 普通构造无法提供的内容
第15章 生成器模式
15.1 根据解析器构造对象
15.2 根据约束构造对象
15.3 根据不完整的信息构造符合约束的对象
15.4 小结
第16章 工厂方法
16.1 识别工厂方法模式
16.2 工厂方法模式的一个典型例子:迭代器
16.3 决定要实例化的类
16.4 并行层次结构中的工厂方法模式
16.5 小结
第17章 抽象工厂模式
17.1 抽象工厂用于构建一系列对象
17.2 包和抽象工厂模式
17.3 抽象工厂模式和“外观与感觉”
17.4 小结
第18章 原型模式
18.1 作为工厂的原型
18.2 利用克隆进行原型化
18.3 使用Object.clone()方法
18.4 小结
第19章 备忘录模式
19.1 备忘录的持久性
19.2 应用备忘录模式
19.3 跨越会话的持久性备忘录
19.4 使用字符串作为备忘录
19.5 小结
第四部分操作型模式
第20章 操作型模式介绍
20.1 操作、方法和算法
20.2 方法的机制
20.3 方法中的异常
20.4 小结
20.5 普通操作无法提供的内容
第21章 模板方法模式
21.1 模板方法的一个典型例子:排序
21.2 完成一个算法
21.3 模板方法中的钩子
21.4 重构为模板方法
21.5 小结
第22章 状态模式
22.1 对状态建模
22.2 重构为状态模式
22.3 使状态成为常量
22.4 小结
第23章 策略模式
23.1 对策略建模
23.2 重构为策略模式
23.3 策略模式和状态模式的比较
23.4 策略模式和模板方法模式的比较
23.5 小结
第24章 命令模式
24.1 一个典型的例子:菜单命令
24.2 利用命令模式提供服务
24.3 命令模式与其他模式的关系
24.4 小结
第25章 解释器模式
25.1 解释器模式的一个例子
25.2 解释器、语言以及解析器
25.3 小结
第五部分扩展型模式
第26章 扩展型模式介绍
26.1 能重用的时候不必扩展
26.2 通过派生进行扩展
26.3 Liskov替换原则(LSP)
26.4 通过委托进行扩展
26.5 小结
26.6 普通扩展无法提供的内容
第27章 装饰器模式
27.1 装饰器模式的典型例子流
27.2 函数装饰器
27.3 不使用装饰器模式的装饰
27.4 小结
第28章 迭代器模式
28.1 类型安全的集合
28.2 对组合类进行迭代
28.3 线程安全的迭代器
28.4 小结
第29章 访问者模式
29.1 重构以支持访问者模式
29.2 应用访问者模式进行扩展
29.3 访问者模式中的循环
29.4 有关访问者模式的争论
29.5 小结
第六部分附 录
附录A 使用指南
附录B “自我突破”参考答案
附录C UME概览
术语表
参考文献
展开