🇨🇳🐲🎉 本网站的中文版本尚处早期开发阶段。如果您发现其中存在错字、纰漏或其他任何问题,请随时联系 [email protected] 向我反馈。

模式的历史

这是一个很好的问题,但也有点不太准确。设计模式并不是过时的、复杂的概念——事实恰恰相反。模式是面向对象设计中常见问题的典型解决方案。同样的解决方案在各种项目中得到了反复使用,所以最终有人给它们起了名字,并对其进行了详细描述。这基本上就是模式被发现的历程了。

模式的概念是由克里斯托佛·亚历山大在其著作A Pattern Language: Towns, Buildings, Construction(《模式语言:城镇、房屋和建造》)中首次提出的。本书介绍了城市设计的“语言”,而此类“语言”的基本单元就是模式。模式中可能会包含对窗户应该在多高、一座建筑应该有多少层以及一片街区应该有多大面积的植被等信息的描述。

Erich Gamma、John Vlissides、Ralph Johnson 和 Richard Helm 这四位作者接受了模式的概念。1995 年,他们出版了《设计模式:可复用面向对象软件的基础》一书,将设计模式的概念应用到程序开发领域中。该书提供了 23 个模式来解决面向对象程序设计中的各种问题,很快便成为了畅销书。由于书名太长,人们将其简称为“四人组(Gang of Four,GoF)的书”,并且很快进一步简化为“GoF 的书”。

此后,人们又发现了几十种面向对象的模式。“模式方法”开始在其他程序开发领域中流行起来。如今,在面向对象设计领域之外,人们也提出了许多其他的模式。