devise模式的确定清单是否存在?
devise模式的想法是从哪里来的,谁决定什么是模式,并给他们起了名字? 是否有一个官方组织来界定它们,还是通过一些社区共识来存在?
我认为有一个基本的“devise模式的生命周期”
- 作者在一本书中写了关于devise模式。
- 书变得很好阅读,可能是最好的卖家
- devise模式进入公众意识,获得思想共享。
- devise模式被使用。 它运作良好。 devise模式获得更多的分享
- devise模式变成万能药,被过度使用。
- 不同的作者写道:“devise模式被认为是有害的”
- devise模式变成反模式
- 不同的作者变得有名,写出充满新的devise模式的书…
大多数人会指向写“ devise模式:可重用面向对象软件的元素 ”一书的“四人帮” (Erich Gamma,Richard Helm,Ralph Johnson和John Vlissides)。 没有真正的确定清单,因为有用的devise模式一直在被发现。
维基百科有一个很好的名单。 http://en.wikipedia.org/wiki/Design_pattern_(computer_science);
大部分是由社区共识(社区是谁阅读devise模式或代码完成的人)
简短的回答:不。
长答案:因为如果有人devise了一些东西,而且往往被别人重复使用,一个新的“devise模式”就会被创build(或被发现)
实际上,现有应用程序中的devise模式数量可能非常庞大,但是还没有一个将它们归类。
我会添加以前的链接这两个:
没有确切的清单。 模式被发现,而不是发明,所以没有组织可以说“这是一种模式”,“这不是模式”。 即使有一个,对任何人都没有用。
尽pipe如此,“着名”模式是devise模式或GOF书中描述的模式。
识别反模式也是有用的。
这是一个很好的模式列表(来自企业应用架构模式书):
devise模式的想法是由克里斯托弗·亚历山大(Christopher Alexander)创造的,同时写了关于build筑和城镇内的build筑模式。 同样,模式已经出现,因为工程师已经获得了更多面向对象devise方法的经验。
没有一个官方财团来定义什么是模式,什么不是模式。 然而,模式通常在被普遍接受之前具有较长的生命周期。 开发社区开始参与PLOP(程序模式语言)和年度大会: 2008年大会 ,重点是模式作者和爱好者讨论模式和新模式发展的主题。
没有确定的清单 – 因为有一个最有可能需要一些权威来声明一个模式是模式还是只是一个…别的东西。
有些模式仅在一部分语言中才有意义 – 典型的GOF书集中在Java(或者是C ++?本书在我的办公桌上),并且一些描述的模式与Ruby没有太大的关联,例如Ruby或VB6。 反之亦然。
我可以说,“四人帮”和“福勒企业架构模式”中的联盟将给你99%的知识。
有一个规范的书:伽马,头盔,约翰逊,Vlissides:“devise模式 – 可重用的面向对象的软件的元素”,开始了这一切。 它包含23种模式。
不能有一个确定的名单。 永远。
如果你看到一些问题的解决scheme – 对你来说 – 有一个可以expression的模式,你已经发现了一个devise模式。 你可以继续这样做。
每一个聪明的,新的解决scheme都可能成为类似的解决scheme的起源,这个解决scheme有着共同的模式 模式是你用来总结和捕捉一个很酷的解决scheme的问题。
人脑几乎可以find任何模式。 这是一件我们没有想到的事情。