面向对象设计 -> 可复用
找到相关的对象 -> 以适当的粒度将它们分类 -> 定义类的接口和继承层次 -> 建立对象之间的基本关系
手头的问题 -> 针对性
将来的问题和需求 -> 通用性
避免、减少重复设计
设计模式使人们可以更加简单方便地复用成功的设计和体系结构
一般而言,一个模式有四个基本要素:
1、模式名称(patten name)
2、问题(problem)
3、解决方法(solution)
4、效果(consequences)
模式名和分类、意图、别名、动机、适用性、结构、参与者、协作、效果、实现、代码示例、已知应用、相关模式