【问题标题】:Resources for Learning Design Patterns [closed]学习设计模式的资源[关闭]
【发布时间】:2009-04-04 08:02:40
【问题描述】:

最近我接触到了设计模式这个概念,并且对它充满热情。你们能推荐一些资源来帮助我深入了解设计模式吗?

【问题讨论】:

标签: c# asp.net design-patterns


【解决方案1】:

你知道,对我来说,最好的书之一是Head First Design Patterns。我个人喜欢他们用来交流材料的风格。

【讨论】:

  • +1,我喜欢这本书。我的第一个设计模式。有了这本书,阅读 GoF 设计模式就容易多了。
  • 我很欣赏这本书试图“脚踏实地”和易于阅读,但我只是没有得到示例。对我来说,制作披萨并不是 oop 的现实主题。只是我个人的观点。 耸耸肩
  • 是的,我知道你的意思。我喜欢这本书的一件事是他们如何建立这些概念。我遇到过许多设计模式书籍和文章,它们清楚地说明了模式的定义,但完全无法解释它是什么或如何真正使用它。
  • @Mitch Baker:你会把那本电子书发到我的邮箱(s.r.alem@gmail.com)吗?我不能买,因为我住在伊朗!!
  • 我是C#背景的,我能看懂这本书吗?
【解决方案2】:

Wikipedia,Gang of Four 书籍,如果您对 C# 实现特别感兴趣,这里有一个不错的站点 here。

【讨论】:

    【解决方案3】:

    最好的书之一是(如上所述)Head First 系列,因为它提供了很好的类比和现实世界的例子。

    还有其他不错的 Java 设计模式书籍。此外,专门研究该主题的网站(请参阅上面的帖子)

    虽然四人帮这本书是我第一次读到这个主题,但我认为你应该避免它,尤其是在你刚开始的时候。当时这是参考,但今天有很多书籍可供您选择。

    但是,我明确强调这一点...实践是最终的学习工具。在阅读了几本关于该主题的书籍后,我 100% 确信知道和理解这些模式。当我尝试实际实施其中一些时,我很快意识到我的知识主要是“理论”,而我的理解甚至还不够接近。对我的自我的巨大打击!

    我开始测试和挑战我的同龄人,并很快了解到他们和我在同一条船上。我发现 99% 的程序员都声称知道模式,但真正经过测试时,只有大约 1/3 真正了解该主题。

    我着手在一个或多个复杂系统中实现尽可能多的模式。我把理论付诸实践,我学到的是一座金矿。

    我的经验中最具挑战性的一个方面是每个模式看起来都很简单。但有时将一堆模式联系在一起可能更具挑战性。

    我鼓励你把理论付诸实践!

    杰奇!

    【讨论】:

      【解决方案4】:

      这是DnrTV上关于设计模式的一个非常不错的截屏视频系列

      Part 1 Part 2 Part 3 Part 4 Part 5

      希望这更吸引人;)

      【讨论】:

        【解决方案5】:

        四个design patterns book 的帮派是标准。如果你熟悉 C++,我推荐它。

        Head first design patterns 也不错,尤其是如果您喜欢视觉辅助工具并希望感觉自己正在 50 年代的餐厅学习设计模式。示例是用 Java 编写的。

        有时有多种方法可以在给定的编程语言中实现模式(例如,请参阅discussion of options for implementing the Singleton pattern in C#),因此可能值得一本书来简明扼要地描述常见模式,另一本书建议最好的实现方式用你最喜欢的语言。

        【讨论】:

          【解决方案6】:

          我经常引用这个网站:Design Patterns。它有一个很好的文章,包括所有流行的设计模式的免费示例。

          【讨论】:

          • 这是一个很棒的网站,可惜他们不使用贝宝并使用自己的愚蠢支付页面。只是为了捐赠。
          【解决方案7】:
          【解决方案8】:

          Head first design patterns 这本书很好读。

          如果你想测试你的设计模式知识,这里是design patterns quiz

          【讨论】:

            【解决方案9】:
            【解决方案10】:

            真的,我认为学习它们的最好方法是深入理解你的语言(基于你的标签的 C#),然后真正致力于实现良好的关注点分离、低耦合和高内聚的目标。 I'd read and study Robert Martin's writings about SOLID principles.

            然后(这是最重要的部分),在开发软件时尝试遵循这些原则。你会发现你开始做某些事情,然后它会打击你,“哦!那是策略模式。”这确实是“模式运动”所展示的......人们使用某种语言工作,试图实现良好的软件设计,会发现自己得到遵循某些通用模式的解决方案。

            【讨论】:

            • 哇,我不知道一方面是 Jeff Atwood / Joel Spolsky,另一方面是 Bob Martin。我不听播客,所以没听说过。但是罗伯特马丁已经记录了这些原则很长时间了。这些原则存在于现实中(没有人让...
            • ... 原则,它们被发现),但罗伯特马丁在阐明它们方面做得非常出色。 “SOLID”首字母缩写词是新的(对我来说有点傻),但想法是一流的。
            【解决方案11】:
            【解决方案12】:

            我发现Design Patterns Explained 是一个很好的介绍性文字。 《四人帮》一书可供那些已经了解模式的人参考。

            【讨论】:

              【解决方案13】:

              Martin Fowler 的网站上有大量信息:http://martinfowler.com/articles.html。 他的书Patterns of Enterprise Application Architecture 也涵盖了大部分内容。

              【讨论】:

                【解决方案14】:

                对于那些使用 C# 的人,我发现 Design Patterns in C# 比 GoF 的书更容易阅读。这些示例当然是用 C# 编写的,并且与 Microsoft 对模式的命名有关。

                【讨论】:

                  【解决方案15】:

                  去年我购买并阅读了Judith Bishop 的C# 3.0 Design Patterns,我对此感到非常满意,此前我曾尝试在 C# 中通读 Go4 和设计模式。

                  这涵盖了标准模式集,按相似性分组,以增加复杂性,但也将它们与 C# 3.0 的语言特性联系起来,因此您可以从接口和抽象类的简单案例开始,然后向上移动扩展方法、泛型、匿名类型、函数等 - 学习两者的好方法。

                  所有内容均以易于阅读的格式呈现,包含大量真实示例和方便的源代码。

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 2010-10-29
                    • 2011-08-29
                    • 2010-09-23
                    • 2011-07-02
                    • 2011-05-19
                    • 2010-11-27
                    • 1970-01-01
                    • 2011-09-19
                    相关资源
                    最近更新 更多