设计模式的诞生与发展
- 模式起源于建筑业而非软件业
- 模式(Pattern)之父——美国加利佛尼亚大学环境结构中心研究所所长Christopher Alexander博士
- 《A Pattern Language: Towns, Buildings, Construction》——253个建筑和城市规划模式
- 模式
- Context(模式可适用的前提条件)
- Theme或Problem(在特定条件下要解决的目标问题)
- Solution(对目标问题求解过程中各种物理关系的记述)
模式的诞生与定义
Alexander给出了关于模式的经典定义:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心,通过这种方式,我们可以无数次地重用那些已有的解决方案,无需再重复相同的工作。
- A pattern is a solution to a problem in a context
- 模式是在特定环境中解决问题的一种方案
软件模式
1990年,软件工程界开始关注Christopher Alexander等在这一住宅、公共建筑与城市规划领域的重大突破,最早将该模式的思想引入软件工程方法学的是1991-1992年以“四人组(Gang of Four,GoF,分别是Erich Gamma, Richard Helm, Ralph Johnson和John Vlissides)”自称的四位著名软件工程学者,他们在1994年归纳发表了23种在软件开发中使用频率较高的设计模式