当前位置: 首页 > news >正文

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

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

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

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

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


http://www.mrgr.cn/news/81083.html

相关文章:

  • Python 计算机模拟引力和太阳系,验证开普勒定律
  • 质量小议51 - 茧房
  • 解决QT制作的软件,全屏显示后最小化,点击任务栏图标打开时不是全屏而是窗口状态的问题
  • 防火墙技术与网络安全
  • 解决npm publish发布包后拉取时一直提示 Couldn‘t find any versions for “包名“ that matches “版本号“
  • Powershell(1)
  • Kafka快速扫描
  • Redis存在安全漏洞
  • EasyPoi 使用$fe:模板语法生成Word动态行
  • [react 3种方法] 获取ant组件ref用ts如何定义?
  • 麒麟操作系统服务架构保姆级教程(三)ssh远程连接
  • en3d 部署笔记
  • 数据可视化echarts学习笔记
  • 【老白学 Java】HashSet 应用 - 卡拉 OK(五)
  • 第1章 命题逻辑
  • Android13下拉状态栏QS面板的加载流程解析
  • 搭建MPI/CUDA开发环境
  • Mapbox-GL 中 `token` 的使用
  • 单元测试使用记录
  • LLaMA-Factory 单卡3080*2 deepspeed zero3 微调Qwen2.5-7B-Instruct
  • 数据结构与算法再探(三)树
  • dockerfile文档编写(2):docker pull、apt install和pip镜像加速
  • EdgeX Core Service 核心服务之 Core Command 命令
  • xiaomiR4c openwrt
  • 2.6 网络面试问题
  • 音视频入门基础:AAC专题(13)——FFmpeg源码中,获取ADTS格式的AAC裸流音频信息的实现