这门课解决什么问题?
很多 C++ 程序员面临一个尴尬的处境:语法和 STL 都掌握得不错,也能完成基础功能开发,但写出的代码往往耦合度高、扩展性差。当业务需求变更时,改一处代码可能引发连锁反应,维护成本极高。这种瓶颈的核心原因往往是缺乏对软件设计规律的系统认知。市面上针对 C++ 的设计模式教程要么过于偏重理论,要么直接照搬 Java 或 Go 的案例,导致 C++ 开发者在实际应用时出现“水土不服”。这门课专门填补了这一空白,它聚焦于 C++ 语言特性,通过动画形式直观地拆解二十三种设计模式的精髓。课程旨在帮助学习者建立起系统化的程序设计思维,让你在面对复杂架构问题时,能够迅速定位问题本质,并运用成熟的设计模式给出优雅解决方案。这不是简单的 API 调用教学,而是关于如何像资深工程师一样思考底层架构的深度学习。
门槛与学习顺序建议
学习这门课不需要你已经是设计模式专家,但需要具备扎实的 C++ 基础。如果你还对指针、引用、类继承以及多态理解不深,建议先回头巩固基础,否则后续学习抽象程度较高的模式时会非常吃力。对于零基础转岗或查漏补缺的同学,建议按照“创建型—结构型—行为型”的逻辑顺序推进。
首先攻克创建型模式,重点掌握单例模式和工厂方法模式,理解如何控制对象的创建过程以实现解耦;接着进入结构型模式,深入学习适配器模式和装饰器模式,这是优化接口兼容性和动态扩展功能的利器;最后学习行为型模式,特别是观察者模式和策略模式,它们是实现事件驱动和算法切换的核心手段。对于其他模式,不必强求全部精通,可以根据工作中遇到的实际场景按需查阅,避免陷入“背多分”的低效学习陷阱。
学完能独立做什么?
完成系统学习并通过配套练习后,你将具备从“码农”向“工程师”转变的关键能力。你不再只是机械地实现功能,而是能够独立分析需求,设计出高内聚、低耦合的系统架构。具体而言,你可以熟练运用设计模式重构遗留代码,提升代码的可读性和可维护性;能够在面试中清晰阐述各种设计模式的适用场景与优缺点,从容应对技术深挖;最重要的是,当你面对新的业务挑战时,能够快速识别出适合的设计范式,避免重复造轮子,从而提高开发效率和代码质量。
资料如何配合练习?
课程设计配套了丰富的练习资源,这是巩固知识的关键环节。建议采取“看动画理解意图—阅读源码分析实现—动手编写代码—对比优化”的四步学习法。不要只看不练,每学完一个模式,务必自己动手用 C++ 实现一遍,并思考如果不使用设计模式,这段代码会写成什么样,从而深刻体会模式带来的价值。同时,尝试将学到的模式应用到你的现有项目或练习题中,在实践中发现问题、解决问题,这样才能真正将知识内化为自己的能力。
课程介绍
设计模式是一套系统的程序设计思维和方法,和算法一样,设计程序的思维也是永远不会过时的,是每个程序员都要掌握的基础技能。当你熟练掌握了设计模式,会发现很多事情处理起来变得轻松很多,很多难题迎刃而解,晋升也变得更加轻松。C++作为一门应用广泛的语言,市面上欠缺对其设计模式的系统讲解,正因于此,越早掌握C++设计模式,就能越早迈上一个新的台阶,成为更优秀的C++开发者!
课程目录
c .png 2022-12-10 22:34 上传 课程介绍: 设计模式是一套系统的程序设计思维和方法,和算法一样,设计程序的思维也是永远不会过时的,是每个程序员都要掌握的基础技能。当你熟练掌握了设计模式,会发现很多事情处理起来变得轻松很多,很多难题迎刃而解,晋升也变得更加轻松。C++作为一门应用广泛的语言,市面上欠缺对其设计模式的系统讲解,正因于此,越早掌握C++设计模式,就能越早迈上一个新的台阶,成为更优秀的C++开发者! 课程目录: 第1章 课程介绍 试看 2 节 | 15分钟 本章介绍课程的主要内容、课程安排,以及学习建议。 收起列表 视频: 1-1 课程导学 (10:29) 试看 视频: 1-2 学习方法介绍 (03:47) 第2章 设计模式真的有那么难学难懂吗? 试看 2 节 | 10分钟 本章和大家介绍程序员小慕,以及小慕工作中的痛点,引导大家如何正确的学习设计模式。 收起列表 视频: 2-1 初识程序员小慕&小慕的痛点 (03:26) 试看 视频: 2-2 设计模式真的有那么难学难懂吗? (05:52) 第3章 单例(Singleton)模式--老板让你加配置文件 4 节 | 33分钟 本章通过添加,讲解单例模式引发的线程安全问题及解决方案,以及对象释放问题。 收起列表 视频: 3-1 老板让你加一个配置文件? (07:16) 视频: 3-2 懒汉式单例 (09:49) 视频: 3-3 饿汉式单例 (08:13) 视频: 3-4 防老六专题 (07:23) 第4章 原型(Prototype)模式--你真的懂对象的拷贝吗? 3 节 | 41分钟 本章讲解原型(Prototype)模式,带你深入理解对象的拷贝。 收起列表 视频: 4-1 你真的懂对象的拷贝吗? (06:32) 视频: 4-2 深拷贝与浅拷贝 (15:04) 视频: 4-3 C++ 中赋值运算符重载与拷贝构造函数 (18:57) 第5章 工厂模式与抽象工厂模式--从if-else"风暴"中解救你 4 节 | 46分钟 本章讲解工厂模式(FactoryMethod)与抽象工厂模式(AbstractFactory) ,从if-else"风暴"中解救你。 收起列表 视频: 5-1 你是如何掉进 if-else风暴的? (07:56) 视频: 5-2 如何用工厂方法模式解救你(一) (18:42) 视频: 5-3 如何用工厂方法模式解救你(二) (07:54) 视频: 5-4 抽象工厂(AbstractFactory) 另外一种解救方式 (10:37) 第6章 代理(Proxy)模式--优化接口性能,用户不再暴走 2 节 | 25分钟 本章讲解代理模式,使用代理模式优化接口的性能。 收起列表 视频: 6-1 访问数据的接口太慢了,用户要暴走了 (09:00) 视频: 6-2 用代理模式来优化吧 (15:47) 第7章 装饰(Decorator)模式--轻松应对甲方爸爸 3 节 | 32分钟 本章讲解装饰器模式,用继承实现一种装饰,使用装饰模式进行功能的排列组合。 收起列表 视频: 7-1 什么?甲方又要加功能 (08:37) 视频: 7-2 使用继承进行功能的扩展 (15:06) 视频: 7-3 使用装饰模式进行功能的排列组合 (07:48) 第8章 观察者(Observer)模式--监听消息"老板什么时候回来" 2 节 | 16分钟 本章讲解观察者模式,使用观察者模式来监听消息。 收起列表 视频: 8-1 老板出差了?啥时候回来啊? (03:21) 视频: 8-2 用观察者模式来监听消息 (12:25) 第9章 迭代器(Iterator)模式--表示公司的组织架构 本章讲解迭代器模式,使用迭代器模式表示组织架构,并教会大家如何使用C++ 标准库中的迭代器。 第10章 建造者模式(Builder)--帮你从多属性"风暴"中解脱出来 本章学习建造者模式,帮你从多属性"风暴"中解脱出来。 第11章 适配器模式(Adapter)--新瓶装旧酒 本章学习适配器模式,用适配器模式实现新瓶装旧酒。 第12章 桥接模式(Bridge)--对接其他人开发的模块 本章讲解如何使用桥接模式对接其他人开发的模块。 第13章 外观模式(Facade)--简化甲方接入流程 本章学习使用外观模式简化程序的接入流程。 第14章 享元模式(Flyweight)--拯救服务器 本章讲解享元模式,利用享元模式解决对象复用的问题,节省内存。 第15章 组合模式(Composite)--做一个公司行政架构图 本章讲解组合模式,使用组合模式处理树形结构数据,做一个架构图。 第16章 模板方法模式与策略模式--帮老板省钱 本章讲解模板方法模式(Template Method)与策略模式(Strategy),让子类在不改变算法整体结构的情况下,重新定义算法中的某些步骤;解耦策略的定义、创建和使用,控制代码的复杂度,从而帮老板省钱。 第17章 命令模式(Command)--老板让你干活 本章学习命令模式,将函数封装成对象,实现函数像对象一样使用,用命令模式帮老板让你干活。 第18章 职责链模式--帮老板审批请假流程 本章讲解职责链模式(Chain of Responsibility),使用责任链模式实现请假流程的审批。 第19章 状态模式(State)--审核发布上线 本章讲解状态模式,使用状态模式实现审核发布上线流程。 第20章 中介者模式(Mediator)--帮老板买房 本章讲解中介者模式,用中介者模式帮老板买房赚差价。 第21章 访问者模式(Visitor)--绩效评比 本章学习访问者模式,使用访问者模式做到老板和员工不同视角信息的访问。 第22章 备忘录模式(Memento)--轻松实现配置文件回滚 本章学习备忘录模式,使用备忘录模式轻松实现配置文件的回滚。 第23章 解释器模式(Interpreter)--音乐解释器 本章讲解解释器模式,将语法规则拆分一些小的独立的单元,然后对每个单元进行解析,最终合并为对整个语法规则的解析,实现音乐解释器。 第24章 课程总结 本章是课程的最后一章,课程到此完结,青山不改,绿水长流,江湖再见!




