你可以命名多少非GOF模式?

use*_*312 5 design-patterns

你能说出多少个不是GOF模式的设计模式?

你有任何列出这些名字的网页链接吗?

Bri*_*lis 9

维基百科页面始终是一个良好的开端.链接表中的"In Design Patterns"列中会告诉您哪些模式在GOF书中,哪些不在.


Jul*_*iet 5

为了它的价值,维基百科上的设计模式有一个设计模式列表,包括这些模式是否出现在GOF书中的信息.

在我的脑海中,GOF排除了与并发相关的一整类设计模式,包括双重检查锁定,自旋锁定以及关于pi演算的几乎所有内容.

此外,一些模式似乎从其他编程范例中自然地遵循:

  • 函数式编程中有很多模式没有出现在GOF书中.经常使用的设计模式涉及使用累加器变量将非尾递归函数转换为尾递归函数.此外,monad的概念或其使用的概念与原始开发人员完全不同.GOF书中完全没有不可变对象.

  • Lisp的宏系统可能被认为是一种设计模式,或者指示一种模式.

  • 我从来没有使用过基于堆栈的编程语言,但我敢打赌Forth程序员有很多技巧可以让他们的算法干净地映射到堆栈.

  • 在抽象的方式中,您可以将关系数据库模式中的表之间的关系视为一种设计模式:1对多,多对一,多对多,一对一.除此之外,还有可预测的分层数据建模方法,这是一种在SQL对标记联合进行建模的相当简单的方法.

  • 等等