课程解决的核心痛点与定位 C++ 作为一门工程属性极强的语言,语法复杂且底层细节繁多。许多开发者在实际工作中容易陷入对语法细节的过度关注,而忽略了软件体系结构的大局观。这种“重实现、轻设计”的倾向,往往成为制约工程师从单纯代码编写者向系统架构师转变的关键瓶颈。本课程正是针对这一痛点,以工程开发视角切入,深入剖析传统软件开发中常见的缺陷性设计,并针对性地引入…
C++ 作为一门工程属性极强的语言,语法复杂且底层细节繁多。许多开发者在实际工作中容易陷入对语法细节的过度关注,而忽略了软件体系结构的大局观。这种“重实现、轻设计”的倾向,往往成为制约工程师从单纯代码编写者向系统架构师转变的关键瓶颈。本课程正是针对这一痛点,以工程开发视角切入,深入剖析传统软件开发中常见的缺陷性设计,并针对性地引入设计模式作为解决方案。课程不仅讲解 23 种经典模式的结构,更强调其在真实项目中的落地应用,旨在帮助学员建立扎实的面向对象设计思维,从而提升软件系统的可维护性与扩展性。
本课程并非面向零基础的初学者,而是专门为有一定 C 或 C++ 编程基础、且具备一定工作经验的开发者设计。学习前,建议读者已熟悉 C++ 的基本语法、内存管理及面向对象基本概念(如类、继承、多态),以便将精力集中在模式的结构分析与工程应用上。
建议按照以下顺序循序渐进地学习,以确保知识体系的连贯性:
在这一过程中,务必结合课程提供的源码案例,对照视频讲解进行代码阅读与手写复现,避免仅停留在理论层面的理解。
完成本课程的学习与实践后,开发者应具备以下核心能力:一是能够准确描述并熟练使用 C++ 实现 23 种设计模式;二是能够在工程开发中识别适用场景,判断何时该引入何种模式来改进现有设计;三是能够独立完成基于设计模式的面向对象系统设计与重构,显著提升代码质量。
为了最大化学习收益,建议将课程资料作为实践参照而非单纯的视频观看材料。在学习每个模式时,应先尝试独立思考其在具体业务场景中的应用,随后对照课程源码进行验证与差异分析。通过不断的“思考-实践-对比”循环,将设计模式的内化为己有的工程直觉,从而真正具备架构复杂后端系统的能力。
适合人群: 有工作经验想要学习设计模式实战,有一定c或者c++编程基础 课程目标: 1.理解23种设计模式的结构,并能熟练使用C++代码描述设计模式的表现形式。2.从工程开发角度角度深入讲解设计模式的使用场景。3.通过案例讲解建立起使用设计模式完成面向对象的设计概念,为工程应用打下基础。 课程简介: 《C++ 设计模式原理与实战大全-架构师必学课程》 主讲:丁宋涛 C++属于难学易用的工程开发语言,C++繁复的语法往往使得开发人员过于强调细节而缺乏软件体系结构的大局观。特别需要指出的是,缺乏面向对象的软件设计能力是制约从业人员从研发者向设计者转变的重要因素。设计模式是来源于工业实践的重要开发经验,它实际上是面向对象的数据结构,学习设计模式是学习面向对象设计的根本要求。本课程从案例出发,结合工程实践场景,剖析了各类有缺陷的软件设计,针对性的描述了如何采用设计模式改进软件开发,丰富了学员实际开发经验,提升实战能力。 本次案例直接来源工程实践,其工程技术点培训覆盖了应用工程库中的实用技术样例,其知识点储备已经相当于2-3年左右的工程经验(覆盖Stackoverlow中80%)左右的常见技术点,有利于提升较大规模的工业级C、C++软件设计能力
C .jpg (68.25 KB, 下载次数: 0) 2022-10-30 12:51 上传 课程介绍: 适合人群: 有工作经验想要学习设计模式实战,有一定c或者c++编程基础 课程目标: 1.理解23种设计模式的结构,并能熟练使用C++代码描述设计模式的表现形式。2.从工程开发角度角度深入讲解设计模式的使用场景。3.通过案例讲解建立起使用设计模式完成面向对象的设计概念,为工程应用打下基础。 课程简介: 《C++ 设计模式原理与实战大全-架构师必学课程》 主讲:丁宋涛 C++属于难学易用的工程开发语言,C++繁复的语法往往使得开发人员过于强调细节而缺乏软件体系结构的大局观。特别需要指出的是,缺乏面向对象的软件设计能力是制约从业人员从研发者向设计者转变的重要因素。设计模式是来源于工业实践的重要开发经验,它实际上是面向对象的数据结构,学习设计模式是学习面向对象设计的根本要求。本课程从案例出发,结合工程实践场景,剖析了各类有缺陷的软件设计,针对性的描述了如何采用设计模式改进软件开发,丰富了学员实际开发经验,提升实战能力。 本次案例直接来源工程实践,其工程技术点培训覆盖了应用工程库中的实用技术样例,其知识点储备已经相当于2-3年左右的工程经验(覆盖Stackoverlow中80%)左右的常见技术点,有利于提升较大规模的工业级C、C++软件设计能力 课程目录: 1.课程介绍 2.UML和设计模式导论 02. 创建型设计模式一(10节) 1.简单工厂方法的定义场景与实现针对接口编程 2.简单工厂工程技术对象动态创建配置化开发 3.单例模式的定义场景与实现 4.单例模式的实用工程技术 5.工厂模式的定义场景与实现 6.工厂模式的实用工程技术IOC容器 7.抽象工厂的定义场景与实现 8.抽象工厂的实用工程技术 9.构建者模式Builder的定义场景与实现 10.构建者模式的实用工程技术 03. 创建型设计模式二(2节) 1.原型模式的定义场景与实现 2.原型模式的实用工程技术 04. 结构型设计模式一(10节) 1.适配器模式的定义场景与实用工程技术 2.门面模式Facade的定义场景与实用工程技术 3.享元模式Flyweight的定义场景与实现 4.享元模式Flyweight的实用工程技术 5.代理模式的定义场景与实现 6.代理模式的实用工程技术 7.包装模式的定义场景与实现 8.包装模式的实用工程技术分析MFC 9.组合模式的定义场景与实现部分与整体 10.组合模式的实用工程技术 05. 结构型设计模式二(2节) 1.桥接模式的定义场景与实现 2.桥接模式的实用工程技术 06. 行为型设计模式一(10节) 1.模板方法的定义场景与实现 2.模板方法的实用工程技术 3.策略模式的定义场景与实现 里氏代换原则 4.策略模式的实用工程技术 5.观察者模式的定义场景与实现 6.观察者模式的实用工程技术 7.命令模式的定义场景与实现 8.命令模式的实用工程技术Undo撤销与宏命令 9.责任链模式的定义场景与实现击鼓传花 10.责任链模式的实用工程技术 07. 行为设计模式二(10节) 1.备忘录模式的定义场景与实现 2.备忘录模式的实用工程技术 3.调停者模式的定义场景与实现 4.调停者模式的实用工程技术 5.状态模式的定义场景与实现 6.状态模式的实用工程技术 7.解释器模式的定义场景与实现 8.解释器模式的工程应用 9.访问者模式的定义场景与实现 10.迭代器模式方法与工程应用 08. 行为设计模式三(3节) 1.访问者模式的工程应用 2.迭代器模式方法与工程应用 3.总结-面向对象 OO 的设计原则 09. 设计模式项目实战-MVC图片编辑器项目一(10节) 1.MVC图片编辑器项目介绍和UML知识回顾 2.MVC模式讲解 3.项目功能说明用到的设计模式说明 4.抽象工厂单例 观察者 门面模式和项目类图 5.依赖的QT环境安装 6.配置QT项目和信号槽代码示例 7.创建XImageEdit项目并提升QWidget控件完成 8.手动添加打开文件的信号槽 9.完成Qt打开并显示图片 10.完成XEditView的初始化和载入背景图的实现 10. 设计模式项目实战-MVC图片编辑器项目二(10节) 1.重载鼠标事件完成画笔功能 2.观察者模式代码IObserver和XSubject完成 3.观察者模式XModel和XEditView代码并重构 4.完成控制器 模型 视图的抽象工厂模式创建 5.将模型和视频与用户代码解耦合有门面模式的 6.重构划线到IGraph接口并添加划线的样式 7.重构XPenGraph用模板技术在工厂中注册 8.注册了XErasGraph完成了橡皮檫功能 9.注册了XRectGraph添加了画矩形存在未清图 10.修正了矩形绘制的残影添加XImageGraph 11. 设计模式项目实战-MVC图片编辑器项目三(4节) 1.完成了Undo和Redo代码 2.完成了画笔的粗细设置 3.完成画笔颜色设置 4.项目完成优化界面添加图标和按钮