第一章 设计模概述
1.1 设计模式的诞生与发展
模式是在特定环境下人们解决某类重复出现问题的一套成功或有效的解决方案
软件模式的基本结构:问题描述->前提条件(环境和约束条件)->解法->效果
1.2 设计模式的定义与分类
设计模式是在特定环境下为解决某一通用软件设计问题提供的一套定制的解决方案,该方案描述了对象和类之间的相互作用。
设计模式一般包含 模式名称、问题、目的、解决方案、实例代码和相关设计模式。
- 模式名称:绝大多数根据其功能或模式结构来命名
- 问题:描述了应该在何时使用设计模式,包含设计中存在的问题以及问题存在的原因
- 解决方案:描述设计模式的组成成分,以及这些组成成分之间的相互关系,各自的职责和协作方式
- 效果:描述模式应用的效果以及在使用模式时应权衡的问题。主要包含模式的优/缺点分析
模式设计的分类
1.根据目的分类:创建型、结构型、行为型
- 创建型(创建对象):工厂方法模式、抽象工厂模式、建造者模式、原型模式、单例模式
- 结构型(处理类和对象的组合):适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式、代理模式
- 行为模式(描述类或对象如何交互与职责分配):职责链模式、命令模式、解释器模式、迭代模式、中介模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式和访问者模式
2.根据范围分类:类模式、对象模式
- 类模式(静态关系):处理类和子类之间的关系
- 对象模式(动态性):处理对象间的关系
1.3 GoF设计模式简介
1.4 设计模式的优点
实现可维护性复用的设计方案,避免做一些重复性工作,设计出高质量的软件系统。