第1章 概述 1
1.1 全书概览 1
1.2 设计模式简史 2
1.3 本书读者对象 2
1.4 本书对面试的帮助 3
1.5 如何阅读本书 3
1.6 本书主要内容 3
1.7 源代码免责声明 4
1.8 本书中使用的工具 4
第2章 UML基础 5
2.1 什么是UML 5
2.2 为什么使用UML 5
2.3 UML符号 6
2.4 面向对象概念 6
2.5 面向对象的分析与设计 8
2.6 UML构造块和符号 9
2.7 事物 9
2.8 关系 15
2.9 UML图 19
第3章 设计模式简介 28
3.1 什么是设计模式 28
3.2 设计模式简史 28
3.3 设计模式的作用 29
3.4 设计模式的分类 29
3.5 学习设计模式所需注意的问题 30
3.6 使用模式并积累设计经验 31
3.7 恰当使用设计模式 31
3.8 设计模式与软件框架 32
第4章 创造型模式 33
4.1 创造型模式 33
4.2 创造型模式的分类 33
4.3 工厂方法模式 34
4.4 抽象工厂模式 38
4.5 生成器模式 42
4.6 单例模式 49
4.7 原型模式 53
第5章 结构型模式 59
5.1 结构型模式 59
5.2 结构型模式的分类 59
5.3 适配器模式 60
5.4 桥接模式 66
5.5 组合模式 69
5.6 装饰模式 75
5.7 门面模式 81
5.8 代理模式 87
5.9 享元模式 90
第6章 行为型模式 97
6.1 行为型模式 97
6.2 行为型模式的类型 97
6.3 职责链模式 98
6.4 命令模式 104
6.5 解释器模式 109
6.6 迭代器模式 112
6.7 中介者模式 118
6.8 备忘录模式 124
6.9 观察者模式 128
6.10 状态模式 133
6.11 策略模式 136
6.12 模板方法模式 139
6.13 访问者模式 142
第7章 概念与提示 147
7.1 什么是反面模式 147
7.2 代码重构 147
7.3 提示 148
第8章 设计模式面试问题 150
8.1 设计模式面试问题 150
8.2 设计问题举例 228
第9章 其他概念 231
参考文献 247