设计模式,是否有任何推荐的模式供青少年尝试申请,为什么?

时间:2009-03-30 13:07:16

标签: design-patterns

我注意到最近几周,具有较高经验的程序员不经常讨论“编码”问题,而是讨论设计问题。我真的很想了解这些模式,我知道OO编程和设计的概念,我已经在我的日常工作中应用了相当多的这些原则,我试图保持我的组件模块化,可重用,并且每个都有一个具体,明确的责任。最近我被建议开始学习各种设计模式(顾问建议code complete作为开始),他提到了一些流行模式的名称(如MVC,SingleTon等)。那么大师们!我应该如何开始学习这些模式?

编辑:
由于详细解释,我认为我是goona给Saua点了

6 个答案:

答案 0 :(得分:14)

  1. 了解他们(我个人喜欢C2 Wiki,其他人可能会建议“四人帮”{3}}
  2. 应用它们
  3. 严重误用他们(主要候选人:singelton)
  4. 了解为什么3号是个错误
  5. 学会正确应用
  6. 这更多的是观察报告而不是教学清单; - )

答案 1 :(得分:6)

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

答案 2 :(得分:2)

首先阅读“设计模式”一书

alt text
(来源:codinghorror.com

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

答案 3 :(得分:1)

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

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

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

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

答案 4 :(得分:0)

答案 5 :(得分:0)

除了这里提到的书籍之外,请查看this网站了解一些理论并提供很好的例子。