《设计模式:可复用面向对象软件的基础》 自1995年出版以来,本书一直名列各大书店销售榜前列。近10年后,本书仍是Addison-Wesley公司2003年畅销的图书之一。中文版销售逾4万册。
这本书的目的就是将面向对象软件的设计经验作为设计模式记录下来。每一个设计模式系统地命名、解释和评价了面向对象系统中一个重要的和重复出现的设计。我们的目标是将设计经验以人们能够有效利用的形式记录下来。鉴于此目的,我们编写了一些重要的设计模式,并以编目分类的形式将它们展现出来。
《设计模式:可复用面向对象软件的基础》是引导读者走出软件设计迷宫的指路明灯,凝聚了软件开发界几十年设计经验的结晶。四位面向对象领域专家精心选取了具价值的设计实践,加以分类整理和命名,并用简洁而易于重用的形式表达出来。本书已经成为面向对象技术人员的圣经和词典,书中定义的23个模式逐渐成为开发界技术交流所必备的基础知识和语汇。
序言
前言
读者指南
第1章 引言
1.1 什么是设计模式
1.2 Smalltalk MVC中的设计模式
1.3 描述设计模式
1.4 设计模式的编目
1.5 组织编目
1.6 设计模式怎样解决设计问题
1.6.1 寻找合适的对象
1.6.2 决定对象的粒度
1.6.3 指定对象接口
1.6.4 描述对象的实现
1.6.5 运用复用机制
1.6.6 关联运行时刻和编译时刻的结构
1.6.7 设计应支持变化
1.7 怎样选择设计模式
1.8 怎样使用设计模式
第2章 实例研究:设计一个文档编辑器
2.1 设计问题
2.2 文档结构
2.2.1 递归组合
2.2.2 图元
2.2.3 组合模式
2.3 格式化
2.3.1 封装格式化算法
2.3.2 Compositor和Composition
2.3.3 策略模式
2.4 修饰用户界面
2.4.1 透明围栏
2.4.2 MonoGlyph
2.4.3 Decorator模式
2.5支持多种视感标准
2.5.1 对象创建的抽象
2.5.2 工厂类和产品类
2.5.3 Abstract Factory模式
2.6 支持多种窗口系统
2.6.1 我们是否可以使用Abstract Factory模式
2.6.2 封装实现依赖关系
2.6.3 Window和Windowlmp
2.6.4 Bridge模式
2.7 用户操作
2.7.1 封装一个请求
2.7.2 Command类及其子类
2.7.3 撤消和重做
2.7.4 命令历史记录
2.7.5 Command模式
2.8 拼写检查和断字处理
2.8.1 访问分散的信息
2.8.2 封装访问和遍历
2.8.3 Iterator类及其子类
2.8.4 Iterator模式
2.8.5 遍历和遍历过程中的动作
2.8.6 封装分析
2.8.7 Visitor类及其子类
2.8.8 Visitor模式
2.9小结
第3章 创建型模式
……
第4章 结构型模式
……
第5章 行为模式
……
第6章 结论
……
这本书的目的就是将面向对象软件的设计经验作为设计模式记录下来。每一个设计模式系统地命名、解释和评价了面向对象系统中一个重要的和重复出现的设计。我们的目标是将设计经验以人们能够有效利用的形式记录下来。鉴于此目的,我们编写了一些重要的设计模式,并以编目分类的形式将它们展现出来。