代码之家  ›  专栏  ›  技术社区  ›  user366312

你能说出多少个非GOF模式?[关闭]

  •  5
  • user366312  · 技术社区  · 15 年前

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

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

    4 回复  |  直到 15 年前
        1
  •  8
  •   Brian Willis Darshana    15 年前

    这个 Wikipedia page 总是一个好的开始的地方。链接表中的“in design patterns”列告诉您哪些模式在GOF手册中,哪些没有。

        2
  •  5
  •   Community CDub    8 年前

    为了它的价值, Design Patterns on Wikipedia 有一个设计模式列表,包括关于这些模式是否出现在GOF手册中的信息。

    在我的头脑中,gof排除了与并发性相关的所有类型的设计模式,包括双重检查锁定、旋转锁定,以及几乎所有与 pi calculus .

    此外,有些模式似乎很自然地遵循其他编程模式:

    • 函数式编程中有很多模式没有出现在GOF的书中。一个常用的设计模式涉及使用累加器变量将非尾部递归函数转换为尾部递归函数。此外,monad的概念或其用途对原始开发人员来说完全是陌生的。不变的对象在GOF手册中完全不存在。

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

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

    • 以抽象的方式,您可以将关系数据库模式中表之间的关系视为一种设计模式:1对多、多对一、多对多、一对一。除此之外,还有可预测的建模层次数据的方法,这里有一种非常千篇一律的方法 modeling tagged unions in SQL .

    • 等。

        3
  •  2
  •   Ray Tayek    15 年前

    只有几个其他的OO 设计 模式。一个是空对象(我忘记了另一个)。这些加上23个GOF是正交和完整的。真的没有了。其他的都只是这25个左右的组合。

        4
  •  1
  •   Community CDub    8 年前

    布莱恩指出的维基百科名单确实相当全面。我很惊讶地发现了下一个…

    推荐文章