如何研究设计模式?

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

我应该如何去研究设计模式?

有什么好的设计模式书吗?

我知道这只会带来经验,但必须有一些方法来掌握这些经验?


最好的方法是开始编码。 设计模式是一个很好的概念,只是阅读它们很难应用。 采取一些您可以在网上找到的示例实现并围绕它们进行构建。

Data&Object Factory页面是一个很好的资源。 他们会重复这些模式,为您提供概念和现实世界的例子。 他们的参考资料也很棒。


我读了三本书,直到我读到OReilly的Head First Design Patterns时,我仍然没有很好地理解模式。 这本书打开了我的眼睛,很好地解释了。


我这两个美分的老问题

有些人已经提到过,实践和重构。 我相信学习模式的正确顺序是这样的:

  • 了解TDD
  • 学习重构
  • 学习模式
  • 大多数人忽视1,许多人认为他们可以做2,几乎每个人都会直接获得3。

    对我来说,提高我的软件技能的关键是学习TDD。 这可能是很长时间的痛苦和缓慢的编码,但首先编写测试肯定​​会让你对代码有很多想法。 如果一个班级需要太多的样板或容易中断,你就会开始注意到不好的气味

    TDD的主要优势在于,您不用担心重构代码,并迫使您编写高度独立且内聚的类。 如果没有一套好的测试,触摸没有损坏的东西太痛苦了。 有了安全网,你将真正冒险进入你的代码的巨大变化。 那是你真正开始从实践中学习的时刻。

    现在,您必须阅读关于模式的书籍,而且对我个人而言,这太浪费时间,太费劲了。 在注意到我做了类似的事情之后,我才真正理解了模式,或者我可以将它应用于现有的代码。 没有安全测试或重构习惯,我会一直等到一个新项目。 在新项目中使用模式的问题在于,您看不到它们如何影响或更改工作代码。 我只在将我的代码重构为其中的一个时才了解软件模式,从未在我的代码中引入一个新代码。

    链接地址: http://www.djcxy.com/p/33647.html

    上一篇: How to study design patterns?

    下一篇: how to set a time out for SFTP server connection using paramiko?