如何学习设计模式?

转自 http://home.cnblogs.com/group/topic/37782.html

说说我的一些学习体会:
1.要用真正面向对象的语言来编程,如Java、C#、C++,这样才能加速你对面向对象、设计模式的理解。
我最开始用的编程语言是Basic,然后是Visual Basic,结果抽象类、继承这些东西基本上没有能在实际工作中体会过,后来用C#后才算是真正体会到面向对象。
2.找显浅的设计模式书来学习。
GoF的经典大作好是好,但很难看懂,后来我看了比较显浅的《Head First 设计模式》,终于我让跨进了实质的一步。
3.在实际工作中多用类图。
类图光会看是远远不够的,要多多实践,通过类图来提高你的OO能力!
4.抓破脑袋想设计模式具体的应用例子,并写出示例代码。
尽管有一些显浅的设计模式书,但里面不少例子没有实际的应用价值,有些书甚至还会用一些实际生活中的例子来说明某某模式,我觉得有点牵强附会。书中的大部分例子,只能帮助你大概理解该模式,更重要的是你必须想到在实际工作中的具体应用,写出具体的代码来。
5.多提问题,敢于挑战传统想法。
学习过程中,一定要多多思考、深入思考,多提问题,你会发现有些问题与你之前的认识是相左的,有些问题是和别人的看法是矛盾的,有时你甚至会去怀疑GoF是不是搞错了,这些都很正常,也是很好的事情。如果你一直没有发现问题,还感觉良好,那你就要注意了,那肯定是你没有理解好。说说我的一些学习体会:
1.要用真正面向对象的语言来编程,如Java、C#、C++,这样才能加速你对面向对象、设计模式的理解。
我最开始用的编程语言是Basic,然后是Visual Basic,结果抽象类、继承这些东西基本上没有能在实际工作中体会过,后来用C#后才算是真正体会到面向对象。
2.找显浅的设计模式书来学习。
GoF的经典大作好是好,但很难看懂,后来我看了比较显浅的《Head First 设计模式》,终于我让跨进了实质的一步。
3.在实际工作中多用类图。
类图光会看是远远不够的,要多多实践,通过类图来提高你的OO能力!
4.抓破脑袋想设计模式具体的应用例子,并写出示例代码。
尽管有一些显浅的设计模式书,但里面不少例子没有实际的应用价值,有些书甚至还会用一些实际生活中的例子来说明某某模式,我觉得有点牵强附会。书中的大部分例子,只能帮助你大概理解该模式,更重要的是你必须想到在实际工作中的具体应用,写出具体的代码来。
5.多提问题,敢于挑战传统想法。
学习过程中,一定要多多思考、深入思考,多提问题,你会发现有些问题与你之前的认识是相左的,有些问题是和别人的看法是矛盾的,有时你甚至会去怀疑GoF是不是搞错了,这些都很正常,也是很好的事情。如果你一直没有发现问题,还感觉良好,那你就要注意了,那肯定是你没有理解好。

你可能感兴趣的:(设计模式)