这门课在解决什么问题
这门课面向的是已经写过几段代码、知道"类、方法、变量"这些词,但面对"这段代码怎么改得更合适"时手足无措的自学者。它的目标不是让你记住几十种模式的完整代码,而是让你看到:当程序变得复杂时,不同问题适合用哪些思路来组织代码,这些思路之间是什么关系。具体来说,它从依赖倒转原则讲起,带你逐个认识单例、工厂、建造者、原型这些高频模式,理解每种模式解决什么场景、什么时候该用、什么时候不该用。
适合什么基础
建议先有"类、对象、方法、继承"这些面向对象的基本概念,最好写过 200 行以上的 Java 或 C# 代码,知道怎么在 IDE 里跑一段程序。如果你连"接口和抽象类有什么区别"都说不清楚,可以先花半天把面向对象的基础补一补,再来看这门课。这门课的节奏偏慢,不会因为你基础薄弱就跳过重要概念。
建议先看哪几块
- 第一块:概述 + 依赖倒转原则。这是整门课的地基,先理解"为什么要有设计模式",再看依赖倒转原则,它告诉你为什么接口要抽象出来、为什么到处 new 单例是错的。
- 第二块:单例 + 懒汉/饿汉 + 任务队列。单例模式是入门最容易上手的,但懒汉模式涉及线程安全,需要跟着视频一步步理解双重检查锁和原子变量两种改法,最后写一个多线程任务队列,把前面几讲串起来。
- 第三块:工厂系列(简单工厂 → 工厂 → 抽象工厂)+ 建造者模式 + 原型模式。这三块是代码量最大、结构最复杂的,建议跟着看 UML 类图和代码实现两部分,先看懂结构,再自己敲一遍。简单工厂和工厂模式可以一带而过,重点看抽象工厂和建造者,它们的思路差别很大,容易混淆。
学完能独立做什么
学完这门课,你应该能在实际项目中判断"这个功能适合用哪种模式来组织",而不是每次都把逻辑塞进一个大 if-else 或者一个上帝类里。比如写一个图形编辑器,能想到用工厂模式区分不同图形对象、用建造者模式组合复杂对象、用原型模式批量复制;写一个日志系统,能想到用单例保证全局只有一个日志对象、用任务队列把
课程目录
1-10_10设计模式的依赖倒转原则.mp4 125.67M 1-11_11单例模式和任务队列.mp4 79.33M 1-12_12如何创建一个单例模式的类.mp4 65.54M 1-13_13懒汉模式和饿汉模式.mp4 43.75M 1-14_14懒汉模式-使用双重检查锁定解决线程安全问题.mp4 49.39M 1-15_15懒汉模式-使用原子变量解决双重检查锁定的问题.mp4 84.28M 1-16_16懒汉模式-使用局部静态对象解决线程安全问题.mp4 41.43M 1-17_17写一个多线程模式下的任务队列.mp4 122.58M 1-18_18单例模式的UML类图.mp4 13.11M 1-19_19简单工厂模式.mp4 63.72M 1-1_1设计模式概述.mp4 67.20M 1-20_20简单工厂模式的UML类图.mp4 21.56M 1-21_21简单工厂模式的实现.mp4 72.72M 1-22_22工厂模式.mp4 43.20M 1-23_23工厂模式代码实现.mp4 41.96M 1-24_24抽象工厂模式.mp4 36.07M 1-25_25抽象工厂模式UML类图.mp4 39.87M 1-26_26抽象工厂模式代码实现-上.mp4 55.03M 1-27_27抽象工厂模式代码实现-下.mp4 46.98M 1-28_28建造者(生成器)模式.mp4 75.77M 1-29_29建造者模式代码实现-上.mp4 40.86M 1-2_2什么是面向对象.mp4 82.47M 1-30_30建造者模式代码实现-中.mp4 65.52M 1-31_31建造者模式代码实现-下.mp4 92.77M 1-32_32建造者(生成器)模式总结.mp4 37.04M 1-33_33原型模式.mp4 61.14M 1-34_34原型模式代码实现.mp4 54.90M 1-35_35适配器模式.mp4 34.67M 1-36_36适配器模式剖析和UML类图.mp4 64.61M 1-37_37适配器模式代码实现-上.mp4 73.63M 1-38_38适配器模式代码实现-下.mp4 65.10M 1-39_39桥接模式.mp4 41.81M 1-3_3封装-继承-多态详解.mp4 193.23M 1-40_40桥接模式UML类图.mp4 59.64M 1-41_41桥接模式代码实现-上.mp4 67.04M 1-42_42桥接模式代码实现-下.mp4 116.68M 1-43_43组合模式和UML类图.mp4 108.05M 1-44_44组合模式代码实现-上.mp4 79.87M 1-45_45组合模式代码实现-下.mp4 116.53M 1-46_46装饰模式.mp4 65.82M 1-47_47装饰模式UML类图.mp4 26.54M 1-48_48装饰模式代码实现.mp4 98.88M 1-49_49外观模式和UML类图.mp4 63.86M 1-4_4UML类图的画法.mp4 45.77M 1-50_50外观模式代码实现.mp4 60.96M 1-51_51享元模式.mp4 107.43M 1-52_52享元模式UML类图.mp4 42.11M 1-53_53享元模式代码实现-上.mp4 104.29M 1-54_54享元模式代码实现-下.mp4 86.33M 1-55_55代理模式和UML类图.mp4 62.43M 1-56_56代理模式代码实现.mp4 54.60M 1-57_57责任链模式和UML类图.mp4 67.88M 1-58_58责任链模式代码实现.mp4 128.20M 1-59_59命令模式.mp4 39.72M 1-5_5继承关系和关联关系.mp4 44.08M 1-60_60命令模式的UML类图.mp4 70.11M 1-61_61命令模式代码实现-上.mp4 107.61M 1-62_62命令模式代码实现-下.mp4 79.60M 1-63_63迭代器模式和UML类图.mp4 110.11M 1-64_64迭代器模式-双向链表代码实现.mp4 107.41M 1-65_65迭代器模式代码实现.mp4 104.75M 1-66_66中介者模式.mp4 72.94M 1-67_67中介者模式UML类图.mp4 35.95M 1-68_68中介者模式代码实现-上.mp4 66.94M 1-69_69中介者模式代码实现-下.mp4 142.67M 1-6_6聚合关系组合关系和有来关系.mp4 66.57M 1-70_70备忘录模式.mp4 83.80M 1-71_71备忘录模式UML类图.mp4 31.09M 1-72_72备忘录模式代码实现.mp4 90.34M 1-73_73观察者模式和UML类图.mp4 59.18M 1-74_74观察者模式-发布者代码实现.mp4 75.49M 1-75_75观察者模式-订阅者代码实现和测试.mp4 98.41M 1-76_76策略模式和UML类图.mp4 43.37M 1-77_77策略模式代码实现.mp4 72.05M 1-78_78状态模式和UML类图.mp4 52.64M 1-79_79状态模式代码实现-上.mp4 56.33M 1-7_7UML中类之间的关系总结.mp4 24.70M 1-80_80状态模式代码实现-下.mp4 56.35M 1-81_81模板方法模式和UML类图.mp4 57.27M 1-82_82模板方法模式代码实现.mp4 92.90M 1-83_83访问者模式.mp4 45.58M 1-84_84访问者模式UML类图.mp4 53.83M 1-85_85访问者模式代码实现-上.mp4 71.29M 1-86_86访问者模式代码实现-中.mp4 72.87M 1-87_87访问者模式代码实现-下.mp4 65.08M 1-8_8设计模式的单一原则.mp4 37.72M 1-9_9设计模式的开放封闭原则.mp4 65.93M 爱编程的大丙-设计模式 - 【C++ 版】





