代码之家  ›  专栏  ›  技术社区  ›  Kamyar

设计模式…从哪里开始?(一些真实的样本)

  •  9
  • Kamyar  · 技术社区  · 14 年前

    我对设计模式概念有点陌生。
    C是我的主要编程语言。(我经常使用VB)。我不想写不灵活、不可扩展和有缺陷的草率代码。
    每当我看到一个实际的设计模式时,我就喜欢它背后的逻辑,并且很好地理解它,但不幸的是,在我的项目中实现它们时遇到了困难。

    你看,有很多设计模式(我想是120多个),当我想决定使用哪种模式时,我有点迷失在其中。
    在实际中使用它们时,我不知道该选择什么。
    我从教程中得到的只是一些非常简单的代码片段,它们远离生产环境。 . 除了 DDD模式 因为至少有两本好书和许多有关它的资源,我已经设法把它学好了。

    现在我的问题是:
    有没有什么地方可以找到使用各种设计模式的真实示例?至少一些“更实用”的样品。你知道我在哪里也能找到其他模式的书籍/样本/资源吗?
    谢谢。

    8 回复  |  直到 14 年前
        1
  •  11
  •   Robert Greiner    14 年前

    我先从 Head First Design Patterns 书。它并不像其他一些书那么复杂,而是一种学习体验,而不是参考书。

    在我看来,从零开始学习更好。 头首 书很好地展示了有趣的材料,并做了一个很好的工作保持你的兴趣。这本书还试图将每个模式与一个虚拟现实的例子联系起来。他们的例子可能与你正在研究的内容不相关,但他们至少处理与现实世界问题相同类型的问题(我认为第一个例子处理的是编写一个鸭子模拟视频游戏)。

    阿尔索 头部优先设计模式 聚焦于 用尽可能多的模式塞进你的大脑 所以,你可以识别出你在什么情况下使用一个,并有足够的装备,至少开始。在这里,一个特定的参考资料,比如gof书可能会派上用场。

    不过,请记住,头一本书通常侧重于完全初学者。他们的书在你达到某一特定主题的中间阶段后,并不能成为很好的学习材料。

        2
  •  9
  •   Reed Copsey    14 年前

    我还是觉得 original gang of four Design Patterns book 这是最好的学习方法。重点不是在特定语言或特定位置使用模式,而是真正描述模式存在的原因。

    一旦您真正理解了模式存在的原因(不仅仅是它们是如何工作的),在您自己的生产代码中使用它们就自然而然了。

        3
  •  2
  •   Marvin Cohrs    14 年前

    从GOF模式开始。 ISBN 978-0201633610标准 设计模式:可重用面向对象软件的元素

        4
  •  2
  •   Saul    14 年前

    理解设计模式需要时间和经验。除非你很有天赋,否则一开始你可能会写一些更有效的代码,而你甚至不会注意到。别担心太多。

    设计模式的好处在于学习如何看到它们的好处。图案的特殊形状通常有非常明确的原因。一旦你弄清楚为什么用这种方式组织代码是有益的,学习使用模式就很容易了。提出问题,设定假设,进行实验,看看你是否正确。

    为了阅读,我建议 Design Patterns Explained Matthieu建议的来源网站也不错。

        5
  •  1
  •   Matthieu kelly    14 年前

    本网站有一个很好的经典模式和其他链接主题的列表,包括示例: SourceMaking .

    附言:我一直担心这个网站是否有权发布这些信息。重构部分是MartinFowler的书的副本,但我从未找到任何明确的引用。

        6
  •  0
  •   Adam Houldsworth    14 年前

    阅读Martin Fowler的企业应用程序体系结构模式:

    http://www.amazon.co.uk/Enterprise-Application-Architecture-Addison-Wesley-Signature/dp/0321127420

    以及为企业构建应用程序:

    http://www.amazon.co.uk/Microsoft-NET-Architecting-Applications-PRO-Developer/dp/073562609X

    两者都很好。后者在马丁·福勒的书中有一些.NET模式的例子。这两本书都解释了什么时候使用给定的模式比较好。

        7
  •  0
  •   D'Arcy Rittich    14 年前

    我发现有帮助的特定于C的书是:

    C# 3.0 Design Patterns

        8
  •  0
  •   Doug    14 年前

    互联网上有无数的例子,你所要做的就是搜索。至于书,我建议 "Design Patterns: Elements of Reusable Object-Oriented Software"

    享受!