目 录<br>序言<br>前言<br>读者指南<br>第1章 引言 1<br>1.1 什么是设计模式 2<br>1.2 Smalltalk MVC中的设计模式 3<br>1.3 描述设计模式 4<br>1.4 设计模式的编目 5<br>1.5 组织编目 7<br>1.6 设计模式怎样解决设计问题 8<br>1.6.1 寻找合适的对象 8<br>1.6.2 决定对象的粒度 9<br>1.6.3 指定对象接口 9<br>1.6.4 描述对象的实现 10<br>1.6.5 运用复用机制 13<br>1.6.6 关联运行时刻和编译时刻的<br>结构 15<br>1.6.7 设计应支持变化 16<br>1.7 怎样选择设计模式 19<br>1.8 怎样使用设计模式 20<br>第2章 实例研究:设计一个文档编<br>辑器 22<br>2.1 设计问题 23<br>2.2 文档结构 23<br>2.2.1 递归组合 24<br>2.2.2 图元 25<br>2.2.3 组合模式 27<br>2.3 格式化 27<br>2.3.1 封装格式化算法 27<br>2.3.2 Compositor和Composition 27<br>2.3.3 策略模式 29<br>2.4 修饰用户界面 29<br>2.4.1 透明围栏 29<br>2.4.2 Monoglyph 30<br>2.4.3 Decorator 模式 32<br>2.5 支持多种视感标准 32<br>2.5.1 对象创建的抽象 32<br>2.5.2 工厂类和产品类 33<br>2.5.3 Abstract Factory模式 35<br>2.6 支持多种窗口系统 35<br>2.6.1 我们是否可以使用Abstract Factory<br>模式 35<br>2.6.2 封装实现依赖关系 35<br>2.6.3 Window和WindowImp 37<br>2.6.4 Bridge 模式 40<br>2.7 用户操作 40<br>2.7.1 封装一个请求 41<br>2.7.2 Command 类及其子类 41<br>2.7.3 撤消和重做 42<br>2.7.4 命令历史记录 42<br>2.7.5 Command 模式 44<br>2.8 拼写检查和断字处理 44<br>2.8.1 访问分散的信息 44<br>2.8.2 封装访问和遍历 45<br>2.8.3 Iterator类及其子类 46<br>2.8.4 Iterator模式 48<br>2.8.5 遍历和遍历过程中的动作 48<br>2.8.6 封装分析 48<br>2.8.7 Visitor 类及其子类 51<br>2.8.8 Visitor 模式 52<br>2.9 小结 53<br>第3章 创建型模式 54<br>3.1 Abstract Factory(抽象工厂)—<br>对象创建型模式 57<br>3.2 Builder(生成器)—对象创建型<br>模式 63<br>3.3 Factory Method(工厂方法)—<br>对象创建型模式 70<br>3.4 Prototype(原型)—对象创建型<br>模式 87<br>3.5 Singleton(单件)—对象创建型<br>模式 84<br>3.6 创建型模式的讨论 89<br>第4章 结构型模式 91<br>4.1 Adapter(适配器)—类对象结构型<br>模式 92<br>4.2 Bridge(桥接)—对象结构型<br>模式 100<br>4.3 Composite(组成)—对象结构型<br>模式 107<br>4.4 Decorator(装饰)—对象结构型<br>模式 115<br>4.5 FACADE(外观)—对象结构型<br>模式 121<br>4.6 Flyweight(享元)—对象结构型<br>模式 128<br>4.7 Proxy(代理)—对象结构型<br>模式 137<br>4.8 结构型模式的讨论 144<br>4.8.1 Adapter与Bridge 144<br>4.8.2 Composite、Decorator与Proxy 145<br>第5章 行为模式 147<br>5.1 CHAIN OF RESPONSIBIL ITY(职责链)<br>—对象行为型模式 147<br>5.2 COMMAND(命令)—对象行为型<br>模式 154<br>5.3 INTERPRETER(解释器)—类行为型<br>模式 162<br>5.4 ITERATOR(迭代器)—对象行为型<br>模式 171<br>5.5 MEDIATOR(中介者)—对象行为型<br>模式 181<br>5.6 MEMENTO(备忘录)—对象行为型<br>模式 188<br>5.7 OBSERVER(观察者)—对象行为型<br>模式 194<br>5.8 STATE(状态)—对象行为型模式 201<br>5.9 STRATEGY(策略)—对象行为型<br>模式 208<br>5.10 TEMPLATE METHOD(模板方法)<br>—类行为型模式 214<br>5.11 VISITOR(访问者)—对象行为型<br>模式 218<br>5.12 行为模式的讨论 228<br>5.12 1 封装变化 228<br>5.12.2 对象作为参数 228<br>5.12.3 通信应该被封装还是被分布 229<br>5.12.4 对发送者和接收者解耦 229<br>5.12.5 总结 231<br>第6章 结论 232<br>6.1 设计模式将带来什么 232<br>6.2 一套通用的设计词汇 232<br>6.3 书写文档和学习的辅助手段 232<br>6.4 现有方法的一种补充 233<br>6.5 重构的目标 233<br>6.6 本书简史 234<br>6.7 模式界 235<br>6.8 Alexander 的模式语言 235<br>6.9 软件中的模式 236<br>6.10 邀请参与 237<br>6.11 临别感想 237<br>附录A 词汇表 238<br>附录B 图示符号指南 241<br>附录C 基本类 244<br>参考文献 249<br><br><br>因为过长分成两部分上传
- 粉丝: 6
- 资源: 19
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助