目录程序员
设计模式是前人经验的总结,教你们如何写出可扩展、可读、可维护的高质量代码。设计模式与平常工做中的编码有直接的关系,直接影响到开发人员的开发能力。面试
学习“数据结构与算法”是为了写出高效的代码,而学习设计模式是为了写出高质量的代码。算法
也许有同窗会问:只要代码能用、能解决问题不就够了吗?设计模式
其实否则,写出“能用”代码的人比比皆是,但并非每一个人都能写出“好用”的代码。只会写能用的代码,永远成不了大牛。数据结构
另外一方面,写烂代码和好代码花费的时间是差很少的。当你把编写高质量代码培养成习惯以后,在编写代码的时候,你天然就有代码质量意识,也就能写出不错的代码。框架
先上一道面试题:学习
“你了解设计模式吗?在你过往的项目中,用到过哪些设计模式?是在什么场景下用的?都解决了哪些问题?”编码
这一连串提问,很眼熟吧?学习设计模式能帮你在这道题目上吊打面试官。设计
代码写得好,能让你在团队中脱颖而出。code
代码能力是一个程序员最基础的能力,是展现一个程序员基础素养直接的衡量标准。你写的代码,实际上就是你名片。
提高程序开发软实力,就要注重技术的积累,既要有广度,也要有深度。这其中学框架、读源码是必经之路。
优秀的开源项目、框架、中间件,是集各大顶尖高手的丰厚经验,通过大量迭代才成型的,咱们若是没有身后的基本功,在剖析原理、学习技术的时候,就不可能参透精髓,顶多只是了解个皮毛,似懂非懂。
假设如今给你一个任务:开发一个跟业务无关的、通用的功能模块,你会如何下手?
也许你须要思考这些问题(包括但不限于):
如何分层、分模块?如何设计相关类?每一个类应该有哪些属性、方法?
怎么设计类之间的交互?该用继承仍是组合?该使用接口仍是抽象类?
如何解耦,保证高内聚低耦合?该用单例模式仍是静态方法?用工厂模式建立对象仍是直接 new 出来?
瘦风说:不想当大牛的程序员不是好菜鸟。咱们若是要在职场取得更长远的发展,就要重视基本功的训练和基础知识的积累。
(1) 随着技术的积累,咱们可能须要承担一些培养新人、指导初级员工、作 code review 等方面的工做。
可若是咱们本身对 “什么是好代码?如何写出好代码?” 都不了解,那又要如何指导别人、让别人信服呢?
(2) 若是你的级别比较高,可能还要为 开发进度、开发效率和项目质量 负责。若是项目中有不少垃圾代码,会致使整个项目的维护成本高昂,添加、修改一个功能都会很费力,最终拉低整个团队的开发效率。而代码质量不够高,还会致使线上 bug 频发,也难以及时排查解决相关问题。
(3) 最后,当你成为团队的 leader,或者资深工程师、技术专家以后,你确定要负责一部分团队的招聘工做。这时,若是要考察候选人的设计能力、代码能力,那设计模式相关的问题会是一个很好的切入点。
设计模式与编码、开发有着直接的关系,是你如今就要开始学习的。
早点学,之后的项目就均可以拿来锻炼,每写一行代码都是对内功的使用和强化,是能够在整个职业生涯中受益的事。
参考资料:
极客时间专栏-王争《设计模式之美》
版权声明
做者: 瘦风(healchow.com)
出处: 瘦风的南墙(cnblogs.com/shoufeng)
感谢阅读, 右侧导航栏有「瘦风的南墙」公众号二维码,输出更及时、更体系,欢迎扫码关注🤝
本文版权归博主全部, 欢迎转载, 但 [必须在页面明显位置标明原文连接], 不然博主保留追究相关人士法律责任的权利.