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

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

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

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

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

相关推荐
科技苑20 小时前
C++ CAS与ABA问题详解,无锁编程的经典陷阱怎么解决?
c++·人工智能
百思不得小李1 天前
一个复杂的动态表单是如何实现的
前端·设计模式
BaiPeter1 天前
ZPL文件预览
开发语言·c++
爱你真是太好了1 天前
上下文组成以及如何压缩
设计模式
心仪久了会沦陷1 天前
C语言数据结构入门——树与二叉树详解:概念、堆实现与链式遍历
c语言·数据结构·算法
悠仁さん1 天前
【C++】哈希表
c++·算法·散列表
码少女1 天前
数据结构——图的基础
数据结构
Severus_black1 天前
【C++初阶】list使用及相关实现,思路顺滑流畅!
c语言·数据结构·c++·stl·list
freejackman1 天前
【工程化】从“单兵作战”到“多引擎架构”:基于门面模式的重构实战
大数据·数据库·hive·sql·测试工具·设计模式·架构
敲上瘾1 天前
Qt Widgets入门:项目模板解析与Hello World
开发语言·数据库·c++·qt·ui·qt6.3