为啥我看设计模式
记录一个菜鸟视野下的设计模式的变化历程,力求更加深刻的理解设计模式。
资料
- 大话设计模式
- 设计模式之禅
- https://sourcemaking.com/design_patterns
V1.0 2018-6-18
1.1 什么是设计模式
设计模式是一系列优秀程序员前辈总结的解决一类问题的编码方式。
1.2 设计模式的优势
- 代码模块化。这个是指类级别的模块化。将数据流的转化过程解耦,需求中易变的部分低耦合,不变的部分高内聚。
- 尤其对纯粹面向对象的语言(java,c sharp等)有意义。毕竟程序编译的代价不小,模块化有利于提高编译速度和开发效率,debug效率,可谓意义深远,但对于python这类动态语言来书,在这个层面的意义没那么大,毕竟动态执行,灵活性高很多。这里要插一句,python面向这个对象,和java面向的那个对象,在思想上追求一致,实现上大不相同。
- 设计模式是软件工程的概念。不管语言层面对设计模式的依赖大小,从软件组织上,设计模式都是可以借鉴的,只要你是用面向对象的思想写代码。
1.3 设计模式要源于需求
写百十行的代码自娱自乐,写函数就够用了,能实现需求,还撸的快。代码量达到一定水平,参与的人员达到一定人数,就不得不用文件(模块,命名空间)将代码分类管理,以便于维护,这个时候就要考虑如何用模块或类把代码组织起来。如何利用封装,继承,多态更友好的管理代码,如何便捷的把代码模块和不同的程序员对应起来,使大家少扯皮,多合作。
网友评论