设计模式历史
设计模式起源于建筑领域,由Christopher Alexander(克里斯托弗.亚历山大)首次提出。
最早将模式的思想引入软件工程方法学的是1991-1992年以“四人组(Gang of Four,简称GoF,分别是Erich Gamma, Richard Helm, Ralph Johnson和John Vlissides)”自称的四位著名软件工程学者,他们在1994年归纳发表了23种在软件开发中使用频率较高的设计模式。
1995年, GoF将收集和整理好的23种设计模式汇编成Design Patterns: Elements of Reusable Object-Oriented Software【《设计模式:可复用面向对象软件的基础》】一书,该书的出版也标志着设计模式正式成为面向对象(Object Oriented)软件工程的一个重要研究分支。
设计模式描述
Christopher Alexander在《模式语言》[Alex2]中给模式下了一个非常有名的定义:
“每个模式都是一个法则,由三部分组成。它表现的是一种特定的上下文、一个问题和一个解决方案之间的关系。”
一般而言,一个模式有四个基本要素:
1.模式名称( pattern name)一个助记名,它用一两个词来描述模式的问题、解决方案和效果。命名一个新的模式增加了我们的设计词汇。基于一个模式词汇表,我们自己以及同事之间就可以讨论模式并在编写文档时使用它们。模式名可以帮助我们思考,便于我们与其他人交流设计思想及设计结果。
2.问题(problem)描述了应该在何时使用模式。它解释了设计问题和问题存在的前因后果,有时候,问题部分会包括使