除了GOF模式,你能说出多少其他的设计模式?
你有没有任何列出这些名称的网页链接?
除了GOF模式,你能说出多少其他的设计模式?
你有没有任何列出这些名称的网页链接?
就我所知,维基百科上的设计模式列出了一些设计模式,其中包括这些模式是否出现在GOF书中。
从我的经验来看,GOF排除了与并发相关的整个设计模式类别,包括双重检查锁定、自旋锁定以及几乎所有关于π演算的内容。
此外,有些模式似乎是从其他编程范例自然而然地产生的:
函数式编程中有很多模式没有出现在GOF书中。一个常用的设计模式涉及使用累加器变量将非尾递归函数转换为尾递归函数。此外,单子的概念或其用途对原始开发人员来说完全陌生。不可变对象在GOF书中完全不存在。
Lisp的宏系统可能被认为是一种设计模式,或者表明了一种设计模式。
我从未使用过基于堆栈的编程语言,但我敢打赌Forth程序员有很多技巧可以使他们的算法映射到堆栈。
从抽象的角度来看,你可以将关系型数据库模式中表之间的关系视为一种设计模式:1对多、多对1、多对多、1对1。更重要的是,有可预测的建模分层数据的方法,这里有一个相当标准的在SQL中建模标记联合的方法。
等等。
只有很少几个其他的oo 设计模式,其中一个是null object(我忘了另一个)。这些加上23个gof模式可以说是正交且完备的。实际上没有更多其他的模式,其他的大多数情况下只是这25个模式的组合。