第1章 接口与抽象类 1
1.1 语义简单描述 1
1.2 与框架的关系 2
1.3 拓展研究 6
1.3.1 柔性多态 6
1.3.2 借鉴STL标准模板库 9
第2章 反射 12
2.1 反射的概念 12
2.2 统一形式调用 12
2.3 反射与配置文件 16
2.3.1 反射与框架 16
2.3.2 Properties配置文件 17
第3章 工厂模式 20
3.1 问题的提出 20
3.2 简单工厂 21
3.2.1 代码示例 21
3.2.2 代码分析 22
3.2.3 语义分析 23
3.3 工厂 24
3.3.1 代码示例 24
3.3.2 代码分析 25
3.4 抽象工厂 26
3.4.1 代码示例 26
3.4.2 代码分析 27
3.4.3 典型模型语义分析 28
3.4.4 其他情况 28
3.5 应用探究 30
3.6 自动选择工厂 36
第4章 生成器模式 38
4.1 问题的提出 38
4.2 生成器模式 40
4.3 深入理解生成器模式 42
4.4 应用探究 45
第5章 观察者模式 59
5.1 问题的提出 59
5.2 观察者模式 59
5.3 深入理解观察者模式 61
5.4 JDK中的观察者设计模式 67
5.5 应用探究 71
第6章 桥接模式 81
6.1 问题的提出 81
6.2 桥接模式 82
6.3 深入理解桥接模式 84
6.4 应用探究 88
第7章 代理模式 98
7.1 问题的提出 98
7.2 代理模式 98
7.3 虚拟代理 99
7.4 远程代理 104
7.4.1 RMI通信 105
7.4.2 RMI代理模拟 107
7.5 计数代理 109
7.6 动态代理 112
7.6.1 动态代理的成因 112
7.6.2 自定义动态代理 112
7.6.3 JDK动态代理 115
第8章 状态模式 118
8.1 问题的提出 118
8.2 状态模式 118
8.3 深入理解状态模式 120
8.4 应用探究 125
第9章 访问者模式 137
9.1 问题的提出 137
9.2 访问者模式 137
9.3 深入理解访问者模式 140
9.4 应用探究 145
第10章 命令模式 156
10.1 问题的提出 156
10.2 命令模式 156
10.3 深入理解命令模式 158
10.3.1 命令集管理 158
10.3.2 加深命令接口定义的理解 160
10.3.3 命令模式与JDK事件处理 162
10.3.4 命令模式与多线程 165
10.4 应用探究 168
第11章 装饰器模式 176
11.1 问题的提出 176
11.2 装饰器模式 177
11.3 深入理解装饰器模式 179
11.3.1 具体构件角色的重要性 179
11.3.2 JDK中的装饰模式 180
11.4 应用探究 182
第12章 组合模式 195
12.1 问题的提出 195
12.2 组合模式 197
12.3 深入理解组合模式 199
12.3.1 其他常用操作 199
12.3.2 节点排序 201
12.4 应用探究 202
参考文献 214