首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何学习设计模式?

如何学习设计模式?
EN

Stack Overflow用户
提问于 2008-11-24 18:36:43
回答 22查看 169.9K关注 0票数 351

我已经读了大约4-5本关于设计模式的书,但我仍然觉得我还没有接近设计模式的中级水平?

我应该如何去学习设计模式?

有没有关于设计模式的好书?

我知道这只会有经验,但一定有办法掌握这些?

EN

回答 22

Stack Overflow用户

回答已采纳

发布于 2008-11-24 18:41:46

最好的方法是开始使用它们进行编码。设计模式是一个很好的概念,仅仅通过阅读就很难应用它们。拿一些你在网上找到的示例实现,并围绕它们构建。

一个很棒的资源是Data & Object Factory页面。他们回顾了这些模式,并给出了概念上和现实世界中的例子。他们的参考资料也很棒。

票数 216
EN

Stack Overflow用户

发布于 2008-11-24 18:45:57

我读了三本书,直到我读了OReilly的Head First Design Patterns,我才很好地理解了模式。这本书让我大开眼界,真的解释得很好。

票数 229
EN

Stack Overflow用户

发布于 2013-04-20 00:34:58

我对这类老问题的两点看法

有些人已经提到,实践和重构。我认为学习模式的正确顺序是:

  1. Learn测试驱动开发(TDD)
  2. Learn refactoring
  3. Learn patterns

大多数人忽略1,许多人相信他们可以做2,几乎每个人都直接选择3。

对我来说,提高软件技能的关键是学习TDD。这可能是一段漫长的痛苦和缓慢的编码时间,但首先编写测试肯定会让您对代码进行大量思考。如果一个类需要太多的样板文件,或者很容易中断,你很快就会注意到难闻的气味。

TDD的主要好处是,您可以消除对重构代码的恐惧,并迫使您编写高度独立和内聚的类。如果没有一组好的测试,接触没有损坏的东西是太痛苦了。有了安全网,你的代码就会发生巨大的变化。这才是你真正开始从实践中学习的时刻。

现在到了你必须阅读关于模式的书籍的时候了,在我看来,这完全是浪费时间,太努力了。只有在注意到我做了类似的事情之后,我才真正很好地理解了模式,或者我可以将其应用于现有的代码。如果没有安全测试,或者重构的习惯,我就会等到一个新的项目。在新项目中使用模式的问题是,您看不到它们是如何影响或更改工作代码的。我只理解了一个软件模式,一旦我将我的代码重构到其中一个模式中,当我在我的代码中引入一个新的模式时,我从来没有理解过。

票数 108
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/315000

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档