可能的重复:
有一本关于设计模式的规范书吗?

我想读一本设计模式书。 GOF肯定是要阅读的人。但是15年之后,它仍然有效,我的意思是没有更新的?

像“ Charles Darwin有关物种起源”之类的东西是一本非常重要的书,一些主要概念仍然有效,无论如何(2010年),人们会读另一本书来研究该主题。

这个问题 主要建议是头部和GOF书籍。但是首先不是替代GOF。

所以有任何建议还是我应该坚持GOF?

有帮助吗?

解决方案

我建议先阅读头一本书,因为它可以更好地解释为什么需要设计模式。之后,您可以使用GOF书籍进行示例和参考。

其他提示

我担心那本书中的模式将不再存在。那天可能永远不会来。得到书。

坚持GOF。此外,我建议您阅读以下内容:


史蒂文·约翰·梅斯克(Steven John Metsker)的“设计模式Java(TM)工作簿”(ISBN 0201743973)

我认为这本书是GOF的一个很好的补充,或者可以安全地使用它,而不是GOF,如果您正在学习或与Java一起工作。其他语言也存在类似的书籍,例如C#和Ruby,但是我无法证明它们的质量,因为我没有阅读它们。


William C. Wake的“重构工作簿”(ISBN 0321109295)

重构与图案齐头并进。这是一个不错的阅读工作簿。


Brown等人“ Antipatterns:重构软件,建筑和危机中的项目”(ISBN 0471197130)

硬币的另一侧是抗模式,代码气味尖叫着重构。这本书很好(至少上半年涉及与软件相关的反图案。)


克雷格·拉尔曼斯(Craig Larmans)的“应用UML和模式:面向对象的分析和设计介绍以及迭代开发(第三版)”(ISBN 0131489062)

Larman的书几乎已成为软件工程和系统分析本科课程的事实上的首选教科书。它在迭代过程中浏览UML和模式的利用方面做得很好。


克里斯·奥卡萨基(Chris Okasaki)的“纯粹功能数据结构”(ISBN 0521663504)

一旦您了解了关于模式,反patterns和重新进攻的良好工作知识,我就会考虑这本书。从纯粹的功能角度来看,它是模式和数据结构的理论论文。

GOF(以及携带指挥棒的书籍)的一件事是,这些模式是终于在C ++中实现通用编程的时代的产物。存在其中的模式可容纳OO和程序/算法范式。

这些模式中的几种(例如,访问者)没有太多的理由存在于将功能视为一流对象的语言中。 我不会在没有很好地掌握模式和功能语言的情况下触摸这本书

您仍然需要它。您将不断回到它进行双检查,小升节和好的例子。将其放在您的架子上。如果您是首先接送头。相反,我非常有兴趣找出一本比GOF高的书:-)

绝对可以保留周围的副本。自从我刚开始使用软件以来,我就拥有一本GOF书,发现它曾经是每次重新阅读它时都会收到更多的书(不,我没有阅读整个内容。封面 - 只是这里和那里的奇数图案)。但是,这是我认为是“初学者”的一本书,我从来没有像以后的职业生涯那样从中获得的那么多。我发现拥有更多的经验会使这本书变得更加有趣,当然更相关。

首先去找头。它解释了您如何以通常的方式编写代码,修改未按正确的方式,应用设计原理,重构者进行的,然后将结果指向您刚刚使用的模式。

我发现设计原理最有用。如果未解释原则,就不会打扰这些模式

这在很大程度上取决于您的范围。如果您更像是企业Java/C#或硬码C ++类型,那么,可以获取GOF,也可能还有其他有关该主题的书籍(请参阅其他答案)。但是,如果您可以想象使用具有高阶功能和更高级概念的动态语言工作,那么您通常不需要任何这些模式。更糟糕的是:您的生产力降低了,因为您将寻找要实施的模式,而不是用语言术语和(AB)使用其力量。查看Python,Ruby,(Modern)Perl,Erlang,Scala,Clojure,LISP,您将其命名,在每种语言中,不需要GOF模式,因为坦率地说,这些模式是解决固有的一些问题的好方法到没有高阶构造的语言。

话虽如此,无论哪种方式,都要学习模式,但要批评它们,并学会正确且谨慎地使用它们。他们不是银弹,永远不会成为。

绝对从GOF开始 - 但请记住,由于它出现了许多书籍,其中包含各种图案目录(大多数“签名”系列都想到了,例如 Poeaa 或者 企业集成模式)将模式思想带入更具体的领域。

还请记住,某些模式的实现可能会取决于您使用的语言。 C#1正在敲门)您会错过一些现代语言功能提供的潜力。专门针对.net我喜欢 来自DotFactory的示例, 朱迪思·毕晓普的书 也很好。

许可以下: CC-BY-SA归因
scroll top