每周一个设计模式-开篇
对于设计模式的内容,之前有从书上了解过,但是纸上得来终觉浅,总感觉学过之后那一段是是理解了,随着时间的流逝,知识渐渐被淡忘,自己仍然扎在一堆“烂”代码中,无组织结构可言。反观自己的技术栈,还真的没有接触过一门纯正的面向对象语言,譬如 Java。
我清晰记得大学时候,自己就特别排斥 Java ,一方面觉得 Java 比较卷,另一方面觉得 Java 都几十年了,我要学就学点新鲜的。总之,跟面向对象的语言总是完美错过。
Go 虽然属于 C 家族的一员,但是仍可以写出结构良好的代码,利用接口和组合的方式实现,摒弃了面向对象继承的缺点,某种意义上,也可以认为他是。
至于说,我为什么要学习设计模式呢?主要有两点:
- 更好的理解开源代码。
- 提升自己的职业素养。
我阅读了很多开源项目代码,我可以顺着这个代码流程完整的了解这个功能是怎么回事。针对某一块的代码来讲时,我都能弄明白是怎么一回事。
但放眼全局的话,就开始凌乱了,作者为什么要进行这样的抽象,代码结构是如何组织的,再或者和别人讲述的时候不能直接说实现吧。
之前有看过 kubernetes pvc 部分的代码,那时看到的 for 循环就是一个死循环,知道他是从队列中不断获取到对象,然后进行处理。在了解一些 k8s 设计原理后,才发现那是控制器模型。
所以说,设计模式在你去理解一些开源项目的时候是十分重要的,这一步停留在看。那看的多了是不是自然会影响到日常的开发呢?从整体上去设计、思考。针对第二点来说呢,想要成为高级程序员,设计模式也是必不可少的一项技能,至少我是这么认为的。
学习的目的明确了,计划也定制了,就差自己去落实了。从本周开始总共有 20 几种设计模式,本着一周一个的进度去学习,半年时间可能就差不多了。不在于快,贵在坚持!
本文标题:每周一个设计模式-开篇
文章作者:bqyang
发布时间:2023-02-21
最后更新:2023-04-13
原始链接:https://bqyang.top/2023/one-design-pattern-per-week/index/
版权声明:The author owns the copyright, please indicate the source reproduced.