C++的封装(十四):《设计模式》这本书

很多C++学习者学到对C++语言有一定自信后,会去读一下《设计模式》这本书。希望能够提升自己的设计水平。

据我所知,围绕C++语言出了很多书。因为正好赶上泡沫经济时代。大家一拥而上,自己半懂不懂就出书,抢着出书收割读者,出了很多有很大问题的C++学习指导书籍。读者如果不加思考的接受,很容易出问题,再也无法学精通了。甚至不少读者读书到经历了"从入门到放弃"的尴尬境地。但《设计模式》这本书还是有点内容,可以看一看。但我建议只看他的代码,而不是文字。因为代码比较忠实,它不会吹嘘,也不会撒谎。读过我前面文章的读者,应该都有能力阅读它的代码,遇到疑惑,再参考一下文字即可。

虽然我不反对读这本书,也提醒下不要抱太高的希望。因为希望越大失望越大。这本书虽然用《设计模式》来命名,它的重点是讲述在类型分界线外,类之间的勾连技巧,这些技巧虽然最后也归入设计的范畴,毕竟已经属于枝节了。设计的重点难道不是功能、性能、高效的数据结构么,这些应该早已在类的内部实现了,而不是出现在类边界了。

所以《设计模式》讲的这些模式,最终还是归集到封装这个主题。这些在类边界的勾连代码,往往比较狡狯,把垃圾代码收集到一个肮脏的角落,然后集中力量对付。这是它的价值所在。初学者尝试练习编程,写的内容往往很单薄,而过度套用设计模式封装了又封装,导致代码充满了肮脏的垃圾代码,而真正的程序逻辑反而被淹没。变成从一开始就培养坏习惯了。所以适度封装是必须要认真对待的问题。

相关推荐
code_pgf8 小时前
C++11 / C++14 / C++17 / C++20 新特性总结
c++·c++20
颜x小11 小时前
[C#] C++与c#语法对比
开发语言·c++·c#
小poop12 小时前
轮转数组:从暴力到最优,一题掌握算法复杂度分析
数据结构·算法·leetcode
汉克老师13 小时前
GESP2026年3月认证C++八级( 第三部分编程题(2、子图最短路)精讲
c++·最短路·floyd·gesp8级
abcd_zjq13 小时前
海康线扫相机使用
c++·海康
十五年专注C++开发14 小时前
C++设计一个函数来求容器元素绝对值之和的平均值
c++·模板·accumulate
SilentSlot14 小时前
【C/C++】手写 DPDK 协议栈(十一):基于 PPS、SYN 比例和源 IP 熵的 DDoS 检测
c语言·c++·tcp/ip
wabs66615 小时前
关于图论【卡码网104.建造最大岛屿的思考】
数据结构·算法·图论
王老师青少年编程15 小时前
csp信奥赛C++高频考点专项训练:【排序算法】案例9:成绩排序
c++·排序算法·csp·高频考点·信奥赛·成绩排序
程序喵大人15 小时前
【C++进阶】STL容器与迭代器 - 05 map 和 set 为什么按键保持有序
开发语言·c++·容器·迭代器·stl