52°

设计模式简述

何为设计模式

设计模式,设计这里单指的是代码的设计与组织,模式是主体行为的一般方式,是在经过实践之后总结出来的一般套路,具有一般性、简单性、重复性、结构性、稳定性、可操作性的特征。因此设计模式就是代码设计时前人实践出来的各种套路即最佳实践的集合。

为何学习设计模式

设计模式就与成语一样,是对智慧的浓缩。设计模式现在已经不仅仅是一个术语,而是已经变成了编程领域通用的语言。就如同学习成语一样,学习设计模式是我们接收前人智慧的一种方式,也是我们融入编程文化的一种途径。

设计模式是对虚的设计原则的具体表述。抽象的设计原则需要具体的设计模式来体现,具体的设计模式的提炼需要抽象设计原则的指导,二者相辅相成。设计模式并不局限于 GoF 提出的 23 中设计模式,你也可以在实践中总结自己的模式指导开发。软件开发诞生的时间还太短,虽然它的发展很快,但还有很多空白。设计模式也是一样,23 中看似很多,相对于现实世界的复杂性还是太简单,因此有待于我们去发掘。

如何学习

参禅有三种境界:参禅之初,看山是山,看水是水;禅有悟时,看山不是山,看水不是水;禅中彻悟,看山还是山,看水还是水。设计模式的学习也是如此:学习之初,按书中所述对设计模式生搬硬套;熟练应用后,设计模式之间边界不清,云山雾罩,分不清到底是哪种是哪种;窥到本质后,模式在心中而不拘于模式,信手拈来,你中有我,我中有你。

禅需参而后悟,设计模式的掌握也需要在实践中应用,应用后思考,思考后再应用才能逐步掌握,螺旋上升,步步有印。

有了领悟可以写下来与其他人交流,你有一个领悟我有一个领悟,交换之后都有两个角度。写作过程中也会发现自己对某一个概念的模糊,查询、求证也是对自己的提升。

最后

文字,往小了说,是自娱自乐;往大了说,是文化、传承的载体。把自己脑海中的知识、思考写下来,不仅可以梳理自己的知识体系,洞察自己的知识盲点,而且可以让其他人看到,少走点弯路,即使只是有一点是别人没有想到的,文字就算有了价值。

设计模式并不是看过、学过之后就可以扔掉的,它凝结的是软件设计的智慧,不同的人会有不同的领悟,不同阶段的自己也会收获不同的感悟。“温故而知新”,设计模式就是我们需要时时温习的“故”,会获得不同的“新”。

本文由【52iSilence7】发布于开源中国,原文链接:https://my.oschina.net/liufq/blog/3073718

全部评论: 0

    我有话说: