这门课讲的是 C++ 里的设计模式。先说清楚它适合谁:如果你已经能写 C++ 类、懂继承和虚函数,但一看到别人代码里那些 Factory、Observer、Singleton 就发懵,或者自己写项目时总觉得结构越写越乱,那它对你是有用的。如果你连指针和引用都还没分清楚,建议先去补语言基础,这门课不会停下来等你。
先弄明白:这门课不是教你背 23 个名字
设计模式最容易学歪的地方,就是把它当成一张名词表去背。背完之后,面试能说出"工厂模式用于解耦对象的创建",但真让你在项目里用,还是不知道该往哪儿放。这门课的价值不在于覆盖了多少个模式,而在于它把每个模式放回到具体的代码场景里——什么问题逼出了这个模式,不用它会变成什么样,用了之后又多了哪些代价。
C++ 讲设计模式有个特殊性:它不像 Java 那样什么都靠接口和虚函数。C++ 里有模板、有编译期多态、有值语义,同一个模式在 C++ 里往往有两三种写法,各有取舍。这一点课程里会体现出来,你学的时候要留意"为什么这里用模板而不用虚函数"这类问题,而不是只记结论。
建议的观看顺序
不用严格从第一讲顺着看到最后一讲。可以这样安排:
- 先看开头讲设计原则的几讲。单一职责、开闭、依赖倒置这些,是后面所有模式的地基。这几讲如果听着觉得空,很正常,先有个印象,等看到具体模式时再回来对照。
- 然后按"创建型 → 结构型 → 行为型"的顺序走。创建型(工厂、单例、建造者)最贴近日常写代码的直觉,先啃它们不容易劝退。结构型里的适配器、装饰器也不难。行为型的观察者、策略、状态会稍微绕一点,放到后面。
- 每学完一个模式,当天就自己敲一遍。不要只看。设计模式是"手上功夫",看懂了和写出来之间差着一条河。
哪些部分可以快进
如果你时间碎,下面这些可以先跳:
- 偏理论溯源的内容,比如模式的起源、分类学式的对比。第一遍不用纠结。
- 你已经很熟的模式,比如单例。快速扫一眼 C++ 里的线程安全写法就行,不用整段看完。
- 综合实战部分不要跳。前面单讲模式时你可能是"懂了",到了综合项目才会暴露"其实没懂"。这部分宁可慢。
反过来,有几处建议反复看:同一个模式的不同实现对比、以及讲"什么时候不该用这个模式"的段落。后者往往比正面讲解更值钱。
资料怎么配合着练
配套的笔记适合课后复盘,不适合当教材通读。用法是:看完一讲,先自己回忆这个模式解决什么问题、结构长什么样,再翻笔记对一遍,看漏了什么。面试前拿笔记快速过一遍也够用。
练习不要另起炉灶写新项目。更省时间的做法是:翻你自己以前写过的代码,找一处"if-else 堆得很难看"或者"改一个地方要动好几处"的地方,试着用刚学的模式重构一下。改自己的代码,比照着示例抄一遍印象深得多。
最后提醒一句:设计模式里有几个(比如访问者、解释器)在多数业务代码里几乎用不上。学的时候知道它存在、知道它大概解决什么就行,不必强求掌握到能默写的程度。把工厂、策略、观察者、装饰器、单例这几个吃透,已经能应付大部分日常场景了。
1efb1b7f9e6f845a8c5f82e625a5668d_84885901723e9ed5698e06a7c2c7e9ae.webp 下载附件 保存到相册 2025-11-22 00:22 上传
课程推荐
《C++ 设计模式理论与实战大全(价值198元》1efb1b7f9e6f845a8c5f82e625a5668d_84885901723e9ed5698e06a7c2c7e9ae.webp 下载附件 保存到相册 2025-11-22 00:22 上传【技能收获】学完可掌握:核心实战技能、项目驱动学习。课程以实战为导向,覆盖从基础概念到完整项目落地的关键步骤,配套章节笔记便于课后复盘与面试前快速回顾。【学习建议】建议按目录顺序学习,先打基础再进入综合实战章节;每完成 2~3 节可结合笔记整理一份学习小结,最终尝试独立复现一套完整 Demo 写入个人作品集。【就业发展】可面向岗位:Linux 运维工程师、SRE、云计算工程师、DevOps 工程师。云原生与自动化运维仍是企业 IT 刚需方向,认证 + 实战项目组合能显著提升面试通过率,适合向中高级运维或架构岗进阶。 若你已有一定编程或运维基础,本课程可帮助你在现有技能栈上快速叠加热门方向能力,提升求职时的项目说服力与薪资谈判空间。
视频目录(72 节)
* 1-1 课程介绍.mp4
* 1-2 UML和设计模式导论.mp4
* 2-1 简单工厂方法的定义场景与实现-针对接口编程的设计思想剖析.mp4
* 2-2 简单工厂实用工程技术:C++对象动态创建技术与配置化开发.mp4
* 2-3 单例模式的定义场景与实现:懒汉、饿汉与多线程安全double.mp4
* 2-4 单例模式的实用工程技术——从单例到多例,应用系统缓存的实现原.mp4
* 2-5 工厂模式的定义场景与实现——子类延迟实现父类功能的软件结构.mp4
* 2-6 工厂模式的实用工程技术——IOC容器与工厂模式的应用.mp4
* 2-7 抽象工厂的定义、场景与实现——相互关联关系的对象.mp4
* 2-8 抽象工厂的实用工程技术——抽象工厂的使用场景.mp4
* 2-9 构建者模式Builder的定义、场景与实现.mp4
* 2-10 构建者模式的实用工程技术——代码的坏味道:算法与对象构建的隔.mp4
* 2-11 原型模式的定义场景与实现——对象的快速复制.mp4
* 2-12 原型模式的实用工程技术——DRY原则与使用模式进行重构.mp4
* 3-1 适配器模式的定义、场景与实用工程技术:对象适配与类的适配.mp4
* 3-2 门面(外观)模式Facade的定义、场景与实用工程技术.mp4
* 3-3 享元模式Flyweight的定义场景与实现:运用共享技术.mp4
* 3-4 享元模式Flyweight的实用工程技术:文件夹图标、字符串.mp4
* 3-5 代理模式的定义场景与实现:控制对象访问与Cache代理.mp4
* 3-6 代理模式的实用工程技术——AOP面向切面编程、智能指针与代理.mp4
* 3-7 包装模式的定义、场景与实现——组合大于继承.mp4
* 3-8 包装模式的实用工程技术——MFC中CView结构设计.mp4
* 3-9 组合模式的定义、场景与实现:部分-整体.mp4
* 3-10 组合模式的实用工程技术——树形(递归)结构的面向对象实现.mp4
* 3-11 桥接模式的定义、场景与实现:一维扩展用继承,多维扩展用桥接.mp4
* 3-12 桥接模式的实用工程技术:桥接模式应用评析、MFC分析.mp4
* 4-1 模板方法的定义场景与实现:将“动作”封装成对象是理解行为型.mp4
* 4-2 模板方法的实用工程技术:好莱坞法则、钩子函数与单元测试工具.mp4
* 4-3 策略模式的定义场景与实现:is A还是has A,里氏代换原.mp4
* 4-4 策略模式的实用工程技术——支付交易系统帐户转帐、数据信令采集.mp4
* 4-5 观察者模式的定义场景与实现——订阅-发布的软件结构.mp4
* 4-6 观察者模式的实用工程技术——出版+订阅就是观察者模式.mp4
* 4-7 命令模式的定义、场景与实现——封装调用.mp4
* 4-8 命令模式的实用工程技术——Undo撤销与宏命令.mp4
* 4-9 责任链模式的定义、场景与实现:击鼓传花.mp4
* 4-10 责任链模式的实用工程技术——事件冒泡、过滤器原理与责任链实现.mp4
* 4-11 备忘录模式的定义、场景与实现:备忘录与友元函数的应用.mp4
* 4-12 备忘录模式的实用工程技术:httpSession、数据库快照.mp4
* 4-13 调停者模式的定义场景与实现——封装交互与即插即用.mp4
* 4-14 调停者模式的实用工程技术——多对多关系交互解耦合.mp4
* 4-15 状态模式的定义场景与实现——从if-else中提取公因式.mp4
* 4-16 状态模式的实用工程技术—自动化流水线的状态组合与业务逻辑解耦.mp4
* 4-17 解释器模式的定义场景与实现——一个简单加减法运算器的实例.mp4
* 4-18 解释器模式的工程应用——解释器与数据结构、算法和编译原理.mp4
* 4-19 访问者模式的定义场景与实现——一个手机配置环境的构建.mp4
* 4-20 访问者模式的工程应用——工单派送、电脑组装与银行账户流程的工.mp4
* 4-21 迭代器模式方法与工程应用:STL迭代器应用与迭代器模式思想.mp4
* 4-22 面向对象(OO)的设计原则(总结).mp4
* 5-1 MVC图片编辑器项目介绍和UML知识回顾.mp4
* 5-2 MVC模式讲解.mp4
* 5-3 项目功能说明用到的设计模式说明.mp4
* 5-4 抽象工厂、单例、观察者、门面模式回顾和项目类图分析.mp4
* 5-5 依赖的QT环境安装.mp4
* 5-6 配置QT项目和信号槽代码示例.mp4
* 5-7 创建XImageEdit项目并提升QWidget控件完成类实.mp4
* 5-8 手动添加打开文件的信号槽.mp4
* 5-9 完成Qt打开并显示图片.mp4
* 5-10 完成XEditView的初始化和载入背景图的实现和调用.mp4
* 5-11 重载鼠标事件完成画笔功能.mp4
* 5-12 观察者模式代码IObserver和XSubject完成.mp4
* 5-13 观察者模式XModel和XEditView代码完成并重构.mp4
* 5-14 完成控制器、模型、视图的抽象工厂模式创建.mp4
* 5-15 将模型和视频与用户代码解耦合有门面模式的控制器来做.mp4
* 5-16 重构划线到IGraph接口并添加划线的样式(颜色、链接、抗锯.mp4
* 5-17 重构XPenGraph用模板技术在工厂中注册.mp4
* 5-18 注册了XErasGraph完成了橡皮檫功能.mp4
* 5-19 注册了XRectGraph添加了画矩形存在未清理历史图像问题.mp4
* 5-20 修正了矩形绘制的残影添加XImageGraph.mp4
* 5-21 完成了Undo和Redo代码.mp4
* 5-22 完成了画笔的粗细设置.mp4
* 5-23 完成画笔颜色设置.mp4
* 5-24 项目完成优化界面添加图标和按钮.mp4





