1.1设计模式从何而来
模式是在特定环境下人们解决某类重复出现问题的一套成功或有效的解决方案。
A pattern is a successful or efficient solution to a recurring problemwithin a context.
软件模式(Software Patterns)是将模式的一般概念应用于软件开发领域,即软件开发的总体指导思路或参照样板。软件模式并非仅限于设计模式,还包括架构模式、分析模式和过程模式等,实际上,在软件开发生命周期的每一个阶段都存在着一些被认同的模式。
1.2设计模式是什么
设计模式(Design Pattern)是一套被反复使用的、多数人知晓的、经过分类编目的代码设计经验的总结,使用设计模式是为了可以重用代码,让代码更容易被他人理解并且提高代码的可靠性。
设计模式一般包含模式名称、问题、目的、解决方案、效果等组成要素,其中关键要素是模式名称、问题、解决方案和效果。
- 模式名称(Pattern Name)通过一两个词来为模式命名,以便我们更好地理解模式并方便开发人员之间的交流,绝大多数模式都是根据其功能或模式结构来命名的(GoF设计模式中没有一个模式用人名命名);
- 问题(Problem)描述了应该在何时使用模式,它包含了设计中存在的问题以及问题存在的原因;
- 解决方案(Solution)描述了一个设计模式的组成部分,以及这些组成部分之间的相互关系、各自的职责和协作方式,通常解决方案通过UML类图和核心代码进行描述;
- 效果(Consequence)描述了模式的优缺点以及在使用模式时应权衡的问题。
设计模式可分为创建型(Creational)、结构型(Structural)和行为型(Behavioral)
设计模式还可以分为类模式和对象模式。
经常将两种分类方式结合使用,如单例模式是对象创建型模式,模板方法模式是类行为型模式。
1.3设计模式有什么用
重新学习面向对象