先说一下我为什么学习《设计模式》吧。 之所以看一下设计模式是因为我发现半年前我写的代码就算旁边有注释,我也要思考一下才能接受,甚至佩服当初自己怎么这么聪明,想到用这种方式去处理。如果把注释去掉,估计看一遍比重新写一遍的时间还长。
看了网上流传的电子书《大话设计模式》之后开始在自己的代码中运用“工厂模式”,等看完了《设计模式》之后,再看看以前写的代码,简直就是垃圾,一点艺术性都没有,纯粹是为了实现某一个功能而临时拼凑起来的代码块,没有任何模块的概念.
所以想通过进一步研究一下设计模式,提高代码质量,但是事与愿违,读了两遍,隐隐约约好像明白了点,事实上写代码仍然是在凑,把功能凑出来,看着别人的代码都很清晰,自己的却那么乱,很郁闷。
关于学习设计模式的时机问题,仁者见仁,智者见智,很多人都觉得学完面向对象之后就应该学习。而我更倾向于M6里babaru同学的看法,以下是他的回答:
从我自身的经验来讲,开始的时候一定会看了就忘了,我觉得这是一个循序渐进的过程,你有在项目中使用设计模式的主动性是最关键的,忘了不要紧,《设计模式》这本书本身就是写成可以放在你手边随时速查的手册。
在最开始学习编程的时候,有设计模式这个概念我觉得就可以了,因为很多的模式,你没有遇到过那些问题,就不会有切身的理解,反而会造成为模式而模式,过度设计。
随着项目的积累,你可能会开始思考,如何让你的模块更健壮,或者遇到了复用的问题,那么你会自然地去设计模式里面找答案,那样的过程我觉得就是很好的学习过程了。
软件的设计模式是从建筑学里面的模式借鉴过来的,它应该是你从入门快速到达中等合格水平软件工程师的良好阶梯。
我还推荐一种方法,就是你遇到某种模块的开发的时候,不妨去设计模式的各种应用场景里面找找看,应该会有契合的场景,可以在自己的设计里面尝试一下,不断的的使用,尝试,然后总结,思考,慢慢地积累设计模式的应用经验。
我觉得他说得非常好,不能因为模式而模式,那样不但没有达到目的,反而损失原有的健壮性。
Recent Comments