【问题标题】:Design patterns, are there any recommended patterns for juniors to try to apply, and why?设计模式,有没有推荐的模式供大三学生尝试应用,为什么?
【发布时间】:2009-03-30 13:07:16
【问题描述】:

我注意到最近几周,经验丰富的程序员不经常讨论“编码”问题,而是讨论设计问题。我真的很喜欢学习这些模式,我知道 OO 编程和设计的概念,我已经在日常工作中应用了大量这些原则,我尝试保持我的组件模块化、可重用,并且每个组件都有一个明确的、明确的职责。最近有人建议我开始学习各种设计模式(顾问推荐 code complete 作为开始),他提到了一些流行模式的名称(如 MVC、SingleTon 等)。所以大师!我应该如何开始学习这些模式?

编辑:
由于详细的解释,我想我是 goona 给 Saua 的重点

【问题讨论】:

    标签: design-patterns


    【解决方案1】:
    1. 了解它们(我个人喜欢C2 Wiki,其他人可能会建议四人组的"Design Patterns"
    2. 应用它们
    3. 严重误用它们(主要候选人:singelton)
    4. 了解为什么数字 3 是错误的
    5. 学会正确应用它们

    这更像是一份观察报告,而不是一份指导性清单;-)

    【讨论】:

    • 说得好!当你学习你的工具时,把它们锁在你的工具箱里,只在需要时才把它们拿出来!不要成为“每周模式”俱乐部的成员!
    【解决方案2】:

    Head-First Design Patterns”可能是一种有趣的开始方式(也可以查看链接上的讨论)。

    【讨论】:

    • 这应该是任何想要使用设计模式(或者想要写一本关于编程的书,就此而言!)的人的必读书目!
    【解决方案3】:

    从阅读设计模式这本书开始


    (来源:codinghorror.com

    然后你开始一个小项目,尝试一下。没有比尝试更好的学习方法了。添加几个朋友以获得更好的结果。

    【讨论】:

      【解决方案4】:

      虽然 Code Complete 是一本优秀的书(在我看来它绝对是必备品),但它并不是学习模式的最佳书籍。

      如果你想了解模式,一本好书是四人组的Design Patterns 书。它是对一些常用设计模式的参考。

      至于您提到的模式:我认为 MVC 模式更多地是一种架构模式,而不是一种设计模式,因为它影响整个系统(架构)的结构,而不是更孤立的一段代码。单例(不是单例)是一种易于掌握的模式,虽然它被过度使用并且它的缺点经常被忽视,所以我不建议从它开始(或者至少,阅读它,了解它背后的想法,但是不要只是为了使用它而开始在任何地方应用它 - 你通常真的需要它)。

      很难推荐一个开始的模式,但我认为工厂方法、命令和策略并不难学,但我相信其他人可能不同意。

      【讨论】:

        【解决方案5】:
        【解决方案6】:

        除了这里提到的书籍之外,请查看this 网站以获取一些带有很好示例的理论。

        【讨论】:

          猜你喜欢
          • 2020-10-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多