C++后端
·2025-06-20开会time摸鱼聊聊自己的设计模式学习路线。
设计模式本质上是语言无关的,无论是写Java还是c++,甚至Python都能用上,只要你是在面向对象编程。
但很多人学完基本语法之后就直接跟设计模式杠上,我觉得这种路线是陡峭的:一是不理解其用途,学了个原理但是想不出来怎么用;二是设计模式太过纯粹,实际编码中常常是好几个设计模式杂糅在一起出现的,经常会似是而非。
我个人觉得初学者想要往这方面进步,学习路线是:单元测试-重构-设计模式三步走。
首先是单测:很多人觉得我知道输入,知道输出,测一下完事,好像没啥意义。我觉得这是错误的理解。首先,单测可以迫使你思考你代码的功能边界:正常执行链路可能你已经想通了,但是写单测可以强制你慢下来,想想还有什么边界没有测试到,配合各种ai辅助生成单测事半功倍;其次,单测可以在未来要改或者加功能的时候,给自己改的底气,这里就引入了重构。
当你从在一个小工具开始扩展功能的时候,你的关键类或者核心方法里的内容会慢慢开始增加,直到一个不能接受的地步(我刚刚开始学习的,曾经有过一个函数2k行,一个类50+个函)。此时,重构就能教你怎么一步步把不同的功能拆解到不同的类或方法里。这时候,单测就给你改的底气,只需要改好之后重新跑一次单测,就能知道自己改得对不对,有没有遗漏什么功能,否则只有上帝和当时的我知道我在干什么。
最后,当你能轻松发现哪些功能需要重构后,但却没有拆解的思路时,才是设计模式发挥作用的时候,只需要用你的意图去找对应的设计模式,就能得到一套被广泛认可的框架的思路,到这个时候,设计模式就能很快地掌握了。
2
1
分享
操作
评论
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
