我已经阅读了大约4-5本关于设计模式的书籍,但我仍然觉得我在设计模式方面还没有接近中级水平?
我应该如何学习设计模式?
有关于设计模式的好书吗?
我知道这只会来的经验,但必须有一些方法来掌握这些?
我已经阅读了大约4-5本关于设计模式的书籍,但我仍然觉得我在设计模式方面还没有接近中级水平?
我应该如何学习设计模式?
有关于设计模式的好书吗?
我知道这只会来的经验,但必须有一些方法来掌握这些?
当前回答
问自己这些问题:
他们做什么?
它们是如何耦合的?
什么时候使用它们?
什么时候不应该使用它们?
什么缺失的语言特征会让它们消失?
使用它会导致什么技术债务?
有没有更简单的方法来完成工作?
其他回答
最好的方法就是用它们开始编码。设计模式是一个伟大的概念,仅仅通过阅读很难应用它们。从网上找到一些示例实现,然后围绕它们进行构建。
数据和对象工厂页面是一个很好的资源。他们会讲解这些模式,并给出概念上和现实世界中的例子。他们的参考资料也很棒。
你试过《四人帮》这本书吗?
设计模式:可重用面向对象软件的元素
对于书籍,我推荐《设计模式解释》和《头部优先设计模式》。要真正了解这些模式,您应该查看现有的代码。寻找你已经在使用的模式。查看代码气味和可以解决它们的模式。
我的建议是组合实现其中的一些,并分析它们的一些实现。例如,在. net中,如果您查看数据适配器,就会发现有一些适配器模式的使用,如果稍微深入研究框架,还会发现其他一些适配器模式。
我读了三本书,仍然不能很好地理解模式,直到我读了OReilly的Head First Design patterns。这本书让我大开眼界,解释得很清楚。