说到设计模式,给人的感觉很高深莫测,而且许多有关设计模式的书,动不动加之艺术、禅等等唬人的词语,未开始学心已先怯。还有许多初学者,听前辈介绍,买了本GoF的《设计模式-可复用面向对象软件的基础》,啃了几章后,更是云里雾里不知所云,于是内心深处更是避之如蛇蝎。更有甚者,自己不会,不想学,于是乎找出各种佐证来证实设计模式对实际编程并没有什么用处,以此自欺欺人。
关于设计模式,因为国内目前IT界鱼龙混杂,其应用的正确观点已被扭曲得体无完肤。如果你在网上查找相关资料,会发现基本上处于三个极端:
(1)第一种将设计模式吹嘘的神乎其神,仿佛你不了解就根本算不上合格的IT人员,你懂了设计模式就可以出任架构师,迎娶白富美,走向人生巅峰;
(2)第二种就是对设计模式嗤之以鼻,各种理由将设计模式贬低得一无是处,完全没有去学习的必要,甚至许多培训机构的老师都给学生灌输此种观点;
(3)最后一种就是处于彷徨阶段的,既想学,又不知从何学起,也不知道该不该花时间在上面,查资料,得到两种极端答案,更不知所错。
需要写在最前面是,你需要自我检查。如果你只是一个刚刚入门的编程者,对不起,设计模式确实不是很适合你。因为你必须要有比较扎实的基本功和一定的编程经验,才能理解设计模式,才能明白为什么这样做。此时的你,最需要补充的,是你当前所用语言的基础知识,打下扎实的功底才是根本。等你有两年左右的编程经验,有个编写10W+行有效代码的经验后,可以慢慢深入理解设计模式。当然,天才除外!
设计模式,说白了就是前人编程技巧的总结,没什么大不了的。学习设计模式,就是学习别人的技巧,仅此而已!
学习设计模式,切忌陷入具体细节出不来,而忘记了初衷。
写了一些废话,后面的文章中介绍具体模式。