我学习了 GoF 设计模式书,并在列表中列出了 Martin Fowler 的 PoEAA 书。(我也有我个人不喜欢的 Judith Bishop 的书。)但是还有更多模式,例如代表团模式。它的起源是什么?这些书中是否还有其他模式没有提到?关于这个主题,还有其他“必读”书籍或在线资源吗?
它的起源是什么?
不久前我做了一些研究,并对设计模式的起源做了一些笔记。以下是我当时收集的个人笔记的复制/粘贴。
最初
的影响 软件工程中设计模式的影响来自一个叫Christopher Alexander 的人,他是一位建筑设计师(Houses not Software)。他以他的设计理论而闻名,并于 1977 年出版了一本书《模式语言》。在这本书中,Christopher Alexander 讨论了模式的概念,因为它们可以被重用并应用于复杂和重复的工程任务。
转向软件开发
Christopher Alexander 的工作影响了Kent Beck和Ward Cunningham,他们将模式分类的概念应用于软件开发,并在 1987 年的 OOPSLA 会议上介绍了他们的工作。
四人帮
设计模式和软件开发最广为人知的来源可能是这本书:设计模式:可重用面向对象软件的元素。这本书的作者更为人所知的是四人帮,他们是 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides。
这本书是第一本即将出版的设计模式书,并于 1994 年在 OOPSLA 会议上首次公开。
这些书中是否还有其他模式没有提到?
我没有读过你提到的所有书籍,但是当我学习有关设计模式的PluralSight 课程时,他们已经涵盖了很多内容,请参阅下面的列表。