好吧,最近比较闲!心里发虚,担心被fire 。this is a 打工者。 发现了一个矛盾,当你很忙于做项目的时候,总是奢望能有时间自己学习,当你有时间学习的时候,发现这也想学那也想学,又在迷茫不知道如何学习!时光在蹉跎中流失,而我却还徘徊。于是抓住一个目标,学学设计模式。
以前自己接触设计模式,网上搜一下各个模式,学了也不用,都忘记了!最近有抽时间学习了一下。说说自己学习的感悟!
首先面向对象的几大原则这个必须了解,至少要知道。因为无论哪个设计模式,都遵循这几大原则一点或几点。不少网友说叫设计模式是很不对的,这个东西其实翻译成《面向对象设计23招》或者《面向对象的实例教程》!其实就是这个意思,通过23个例子,叫你了解面向对象的设计原则。
所以你要买一本实例教程,初学者推荐《head first 设计模式》,这样的书有很好的引导,你可以自己先设计再和作者的思路对比,发现不足。 一般的设计模式都是java或c#,你可以用另一种语言写出来比如php,js 或者其他。为了增强理解,可以做一些题目。最后能闭上眼睛很熟练把uml画出来,说明你理解了。
总结:
在学习每一个设计模式时至少应该掌握如下几点:
这个设计模式的意图是什么,它要解决一个什么问题,什么时候可以使用它;它是如何解决的,掌握它的结构图,记住它的关键代码;能够想到至少两个它的应用实例,一个生活中的,一个软件中的;
这个模式的优缺点是什么,在使用时要注意什么。当你能够回答上述所有问题时,恭喜你,你了解一个设计模式了,至于掌握它,那就在开发中去使用吧,用多了你自然就掌握了。
推荐一个bolg http://blog.csdn.net/lovelion/ 挺不错我经常去光顾!