Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 是否存在设计模式的最终列表?_Design Patterns - Fatal编程技术网

Design patterns 是否存在设计模式的最终列表?

Design patterns 是否存在设计模式的最终列表?,design-patterns,Design Patterns,设计模式的想法从何而来,谁决定了什么是模式,什么不是模式,并给了他们名字?是否有一个官方组织来定义它们,或者它们是通过一些社区共识存在的?维基百科有一个很好的列表 大多数都是社区一致同意的(社区成员都阅读过设计模式或完整的代码:/)没有确定的列表。模式是被发现的,而不是被发明的,所以没有组织可以说“这是一种模式”和“这不是一种模式”。即使有一个,它也不会对任何人有用 尽管如此,“著名”的模式还是在设计模式或GOF书中描述的模式。大多数人会指出是(Erich Gamma、Richard Helm、

设计模式的想法从何而来,谁决定了什么是模式,什么不是模式,并给了他们名字?是否有一个官方组织来定义它们,或者它们是通过一些社区共识存在的?

维基百科有一个很好的列表


大多数都是社区一致同意的(社区成员都阅读过设计模式或完整的代码:/)

没有确定的列表。模式是被发现的,而不是被发明的,所以没有组织可以说“这是一种模式”和“这不是一种模式”。即使有一个,它也不会对任何人有用


尽管如此,“著名”的模式还是在设计模式或GOF书中描述的模式。

大多数人会指出是(Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides)编写了《设计模式:可重用面向对象软件的元素》一书。没有真正确定的清单,因为有用的设计模式肯定一直在被发现。

认识它也很有用。

有一本经典的书:Gamma,Helm,Johnson,Vlissides:“设计模式-可重用面向对象软件的元素”,这本书开创了这一切。它包含23个模式。

我认为有一个基本的“设计模式的生命周期”

  • 作者在一本书中写到了设计模式
  • 这本书很受欢迎,可能成为畅销书
  • 设计模式进入公众意识,获得关注
  • 使用设计模式。它工作得很好。设计模式获得更多关注
  • 设计模式成为灵丹妙药,不再被使用
  • 不同的作者写道“设计模式被认为是有害的”
  • 设计模式成为
  • 不同的作者成名,写满了新的设计模式的书

  • 没有确定的列表-因为有一个列表很可能需要一些权威来声明一个模式是一个模式还是仅仅是一个。。。还有别的


    有些模式在语言的一个子集中才有意义——标准集中在java上(或者C++),在办公室的办公桌上的书),并且描述的一些模式在Ruby或VB6中不是很相关的。当然,反之亦然。

    这是一个很好的模式列表(摘自《企业应用程序架构模式》一书):

    简短回答:不

    长答案:因为如果有人设计了某个东西,而它往往被其他人重用,那么新的“设计模式”就会被创建(或发现??)

    实际上,现有应用程序中的设计模式数量可能非常多,但是还没有人对它们进行分类

    我想在前面的链接中添加以下两个链接:


    我要说的是,四人帮书籍中的列表与福勒的企业架构模式相结合,将为你提供你所需要了解的99%。

    设计模式的概念是由克里斯托弗·亚历山大(Christopher Alexander)在写建筑和城镇中的建筑模式时提出的。类似地,随着工程师在面向对象设计方法方面获得更多经验,模式也出现了

    没有一个官方联盟定义什么是模式,什么不是模式。然而,模式在被普遍接受之前通常有很长的生命周期。开发社区开始参与PLOP(程序的模式语言)和他们的年度会议
    关注模式作者和模式爱好者,讨论模式和新模式开发的主题。

    没有确定的列表。永远

    如果你看到一个问题的一些解决方案——对你来说——有一个可以表达的模式,你就发现了一个设计模式。你可以一直这样做

    每一个聪明的、新的解决方案都可能是具有共同模式的类似解决方案的起源。模式是用来总结和捕获问题的酷解决方案的东西


    人脑几乎可以在任何东西中找到模式。这是一件我们不假思索的事情

    如果在应用程序中的多个位置使用该模式,则该模式也可能存在;即使它们可能仍然是非公开的。谁知道在Windows(Younameit)代码中可以发现什么样的模式……)这是一个意见片,而不是大卫问题的答案。“被否决了。”约翰兰德尔:我不这么认为。这肯定是夸大了,但是基于观察。我也做了同样的观察。在这里查看来自软件工程(不仅仅是GoF)许多领域的设计模式资源列表:结束优秀的问题不是建设性的。“曾经”吗?真正地