C++ 开发进入中高级阶段,最大的瓶颈往往不是语法,而是如何组织代码以应对复杂的业务逻辑。这门课专门解决“代码膨胀、耦合度高、难以维护”的工程痛点。它不局限于罗列 23 种设计模式的定义,而是将每一种模式都放在具体的工程场景中进行拆解,重点探讨在什么情况下该用工厂模式解耦对象创建,何时用观察者模式实现松耦合通信,以及如何用代理模式处理权限控制和性能优化。对于正在从“能写功能”向“写出可维护系统”转型的开发者而言,这是一份极具实操价值的参考手册。

这门课适合具备扎实 C++ 基础,熟悉面向对象核心概念(继承、多态、封装)的从业者。如果你还在纠结虚函数的用法,或者对类之间的关系感到困惑,建议先夯实基础再来看。课程倾向于通过代码重构来展示模式的价值,因此你不需要精通所有设计理论,但必须能读懂中等复杂度的 C++ 代码,并理解依赖倒置、单一职责等设计原则。它不适合零基础入门,但非常适合那些在大型项目中感到力不从心、想要提升代码架构能力的工程师。

建议的学习路径是“理论场景化,实战项目化”。首先,不要按顺序死磕所有模式,而是根据你当前项目中遇到的问题,优先观看对应模式的“定义场景与实现”以及“实用工程技术”部分。例如,如果你正在处理复杂的 UI 交互,可以重点看门面模式和观察者模式;如果涉及大量对象创建,则关注抽象工厂和构建者模式。每个模式通常分为概念讲解和工程应用两到三节,建议先看场景定义,明确“什么时候用”,再深入看代码实现,理解“怎么用”。

课程后半部分结合了一个基于 Qt 的图片编辑项目,这是检验学习成果的关键环节。建议在学习完前几章的创建型、结构型和行为型模式后,进入实战章节。在这个项目中,你会看到如何在真实业务中组合使用多种模式:比如用单例管理全局配置,用观察者模式同步视图与模型,用工厂模式创建不同的图形对象。学完并能独立完成这个项目的核心模块重构后,你将具备识别代码坏味道并运用设计模式进行重构的能力。

资料配合练习时,不要只看视频。视频中的代码往往是为了演示模式而简化过的,你需要将核心代码片段复制到自己的工程中,尝试修改参数、扩展功能,甚至故意写出“坏代码”再重构。特别是对于状态模式和策略模式,建议手动模拟不同的业务状态切换,观察代码结构的清晰程度变化。通过这种“看-写-改”的闭环练习,你才能真正将设计模式内化为自己的编程直觉,而不是在面试时背诵八股文。

课程目录

课程目录72 集
  • 5-09、完成Qt打开并显示图片.mp4 [18.5 MB]
  • 5-04、抽象工厂、单例、观察者、门面模式回顾和项目类图分析(1).mp4 [23.6 MB]
  • 2-05、工厂模式的定义场景与实现——子类延迟实现父类功能的软件结构.mp4 [69.7 MB]
  • 5-10、完成XEditView的初始化和载入背景图的实现和调用.mp4 [29.5 MB]
  • 2-04、单例模式的实用工程技术——从单例到多例,应用系统缓存的实现原.mp4 [47.8 MB]
  • 4-12、备忘录模式的实用工程技术:Session、数据库快照.mp4 [19.2 MB]
  • 4-05、观察者模式的定义场景与实现——订阅_发布的软件结构.mp4 [140.2 MB]
  • 4-15、状态模式的定义场景与实现——从if_else中提取公因式.mp4 [90.5 MB]
  • 3-03、享元模式Flyweight的定义场景与实现:运用共享技术.mp4 [87.1 MB]
  • 5-08、手动添加打开文件的信号槽.mp4 [19.8 MB]
  • 2-11、原型模式的定义场景与实现——对象的快速复制.mp4 [72.4 MB]
  • 3-01、适配器模式的定义、场景与实用工程技术:对象适配与类的适配.mp4 [60.3 MB]
  • 5-03、项目功能说明用到的设计模式说明(1).mp4 [14.1 MB]
  • 4-14、调停者模式的实用工程技术——多对多关系交互解耦合.mp4 [15.9 MB]
  • 2-08、抽象工厂的实用工程技术——抽象工厂的使用场景.mp4 [47.1 MB]
  • 4-13、调停者模式的定义场景与实现——封装交互与即插即用.mp4 [94.6 MB]
  • 4-16、状态模式的实用工程技术—自动化流水线的状态组合与业务逻辑解耦.mp4 [15.5 MB]
  • 5-05、依赖的QT环境安装(1).mp4 [21.7 MB]
  • 5-23、完成画笔颜色设置.mp4 [36.7 MB]
  • 4-22、面向对象(OO)的设计原则(总结).mp4 [37.9 MB]
  • 2-07、抽象工厂的定义、场景与实现——相互关联关系的对象.mp4 [67.4 MB]
  • 2-10、构建者模式的实用工程技术——代码的坏味道:算法与对象构建的隔.mp4 [99.4 MB]
  • 3-10、组合模式的实用工程技术——树形(递归)结构的面向对象实现.mp4 [167.2 MB]
  • 5-15、将模型和视频与用户代码解耦合有门面模式的控制器来做.mp4 [42.1 MB]
  • 4-20、访问者模式的工程应用——工单派送、电脑组装与银行账户流程的工.mp4 [34.1 MB]
  • 5-13、观察者模式XModel和XEditView代码完成并重构.mp4 [46.6 MB]
  • 3-12、桥接模式的实用工程技术:桥接模式应用评析、MFC分析.mp4 [23.4 MB]
  • 3-06、代理模式的实用工程技术——AOP面向切面编程、智能指针与代理.mp4 [139.8 MB]
  • 3-11、桥接模式的定义、场景与实现:一维扩展用继承,多维扩展用桥接.mp4 [39.0 MB]
  • 5-19、注册了XRectGraph添加了画矩形存在未清理历史图像问题.mp4 [25.8 MB]
  • 1-01、课程介绍.mp4 [36.5 MB]
  • 2-09、构建者模式Builder的定义、场景与实现.mp4 [108.5 MB]
  • 3-02、门面(外观)模式Facade的定义、场景与实用工程技术.mp4 [57.4 MB]
  • 4-18、解释器模式的工程应用——解释器与数据结构、算法和编译原理.mp4 [15.7 MB]
  • 2-12、原型模式的实用工程技术——DRY原则与使用模式进行重构.mp4 [33.2 MB]
  • 3-04、享元模式Flyweight的实用工程技术:文件夹图标、字符串.mp4 [20.8 MB]
  • 5-20、修正了矩形绘制的残影添加XImageGraph.mp4 [49.9 MB]
  • 4-03、策略模式的定义场景与实现:isA还是hasA,里氏代换原.mp4 [91.3 MB]
  • 3-08、包装模式的实用工程技术——MFC中CView结构设计.mp4 [108.6 MB]
  • 3-09、组合模式的定义、场景与实现:部分_整体.mp4 [113.3 MB]
  • 5-11、重载鼠标事件完成画笔功能.mp4 [29.5 MB]
  • 4-10、责任链模式的实用工程技术——事件冒泡、过滤器原理与责任链实现.mp4 [62.8 MB]
  • 5-24、项目完成优化界面添加图标和按钮.mp4 [40.1 MB]
  • 3-05、代理模式的定义场景与实现:控制对象访问与Cache代理.mp4 [93.6 MB]
  • 5-06、配置QT项目和信号槽代码示例(1).mp4 [27.5 MB]
  • 4-11、备忘录模式的定义、场景与实现:备忘录与友元函数的应用.mp4 [86.9 MB]
  • 4-09、责任链模式的定义、场景与实现:击鼓传花.mp4 [40.9 MB]
  • 2-06、工厂模式的实用工程技术——IOC容器与工厂模式的应用.mp4 [75.1 MB]
  • 4-01、模板方法的定义场景与实现:将“动作”封装成对象是理解行为型.mp4 [53.6 MB]
  • 4-08、命令模式的实用工程技术——Undo撤销与宏命令.mp4 [146.8 MB]
  • 5-17、重构XPenGraph用模板技术在工厂中注册.mp4 [31.7 MB]
  • 2-01、简单工厂方法的定义场景与实现-针对接口编程的设计思想剖析.mp4 [78.9 MB]
  • 3-07、包装模式的定义、场景与实现——组合大于继承.mp4 [63.4 MB]
  • 5-16、重构划线到IGraph接口并添加划线的样式(颜色、链接、抗锯.mp4 [60.8 MB]
  • 5-02、MVC模式讲解(1).mp4 [10.2 MB]
  • 5-22、完成了画笔的粗细设置.mp4 [36.7 MB]
  • 5-01、MVC图片编辑器项目介绍和UML知识回顾(1).mp4 [12.5 MB]
  • 4-17、解释器模式的定义场景与实现——一个简单加减法运算器的实例.mp4 [59.8 MB]
  • 1-02、UML和设计模式导论.mp4 [56.5 MB]
  • 4-02、模板方法的实用工程技术:好莱坞法则、钩子函数与单元测试工具.mp4 [42.0 MB]
  • 4-19、访问者模式的定义场景与实现——一个手机配置环境的构建.mp4 [58.5 MB]
  • 5-12、观察者模式代码IObserver和XSubject完成.mp4 [21.0 MB]
  • 5-07、创建XImageEdit项目并提升QWidget控件完成类实.mp4 [21.3 MB]
  • 4-04、策略模式的实用工程技术——支付交易系统帐户转帐、数据信令采集.mp4 [38.1 MB]
  • 2-03、单例模式的定义场景与实现:懒汉、饿汉与多线程安全double.mp4 [78.1 MB]
  • 5-18、注册了XErasGraph完成了橡皮檫功能.mp4 [33.1 MB]
  • 4-06、观察者模式的实用工程技术——出版+订阅就是观察者模式.mp4 [25.8 MB]
  • 2-02、简单工厂实用工程技术:C++对象动态创建技术与配置化开发.mp4 [101.6 MB]
  • 4-21、迭代器模式方法与工程应用:STL迭代器应用与迭代器模式思想.mp4 [53.8 MB]
  • 5-21、完成了Undo和Redo代码.mp4 [31.8 MB]
  • 5-14、完成控制器、模型、视图的抽象工厂模式创建.mp4 [42.5 MB]
  • 4-07、命令模式的定义、场景与实现——封装调用.mp4 [75.6 MB]