我已经读了大约4-5本关于设计模式的书,但我仍然觉得我还没有接近设计模式的中级水平?
我应该如何去学习设计模式?
有没有关于设计模式的好书?
我知道这只会有经验,但一定有办法掌握这些?
发布于 2008-11-24 18:41:46
最好的方法是开始使用它们进行编码。设计模式是一个很好的概念,仅仅通过阅读就很难应用它们。拿一些你在网上找到的示例实现,并围绕它们构建。
一个很棒的资源是Data & Object Factory页面。他们回顾了这些模式,并给出了概念上和现实世界中的例子。他们的参考资料也很棒。
发布于 2008-11-24 18:45:57
我读了三本书,直到我读了OReilly的Head First Design Patterns,我才很好地理解了模式。这本书让我大开眼界,真的解释得很好。
发布于 2013-04-20 00:34:58
我对这类老问题的两点看法
有些人已经提到,实践和重构。我认为学习模式的正确顺序是:
大多数人忽略1,许多人相信他们可以做2,几乎每个人都直接选择3。
对我来说,提高软件技能的关键是学习TDD。这可能是一段漫长的痛苦和缓慢的编码时间,但首先编写测试肯定会让您对代码进行大量思考。如果一个类需要太多的样板文件,或者很容易中断,你很快就会注意到难闻的气味。
TDD的主要好处是,您可以消除对重构代码的恐惧,并迫使您编写高度独立和内聚的类。如果没有一组好的测试,接触没有损坏的东西是太痛苦了。有了安全网,你的代码就会发生巨大的变化。这才是你真正开始从实践中学习的时刻。
现在到了你必须阅读关于模式的书籍的时候了,在我看来,这完全是浪费时间,太努力了。只有在注意到我做了类似的事情之后,我才真正很好地理解了模式,或者我可以将其应用于现有的代码。如果没有安全测试,或者重构的习惯,我就会等到一个新的项目。在新项目中使用模式的问题是,您看不到它们是如何影响或更改工作代码的。我只理解了一个软件模式,一旦我将我的代码重构到其中一个模式中,当我在我的代码中引入一个新的模式时,我从来没有理解过。
https://stackoverflow.com/questions/315000
复制相似问题