王健伟 C++高级课程-设计模式课程介绍:
本课程将摆脱以往枯燥的单纯介绍设计模式的讲解方法,以一个实际的游戏案例贯穿课程来讲解,但因为设计模式的应用场合可能多有变化,无法在一个案例中覆盖所有设计模式,那么对于这种模式,老师将举单独的例子进行讲。讲解过程中,老师一般会先讲解传统编码中将会面临的问题,而后随着需求的不断增加和变化,代码需要进行重构,从而引出各种设计模式的实际运用,并穿插讲解面向对象程序设计的各个原则。
课程目录:
第1章 c++对象模型探索 课程介绍 (37分钟 1节) 1-1c++对象模型探索课程详细介绍[37:32] 第2章 对象 (6小时39分钟 10节) 2-1类对象所占用的空间[22:47] 2-2对象结构的发展和演化[43:44] 2-3this指针调整[21:44] 2-4分析obj目标文件,构造函数语义[36:03] 2-5构造函数语义续[41:36] 2-6拷贝构造函数语义[44:54] 2-7程序转化语义[44:03] 2-8程序的优化[45:50] 2-9程序优化续、拷贝构造续,深浅拷贝[40:00] 2-10成员初始化列表说[59:11]第1章 模式、思想、开发环境介绍 (2小时29分钟 2节) 1-1设计模式概述[01:12:05] 1-2讲解规划与编程环境搭建[01:17:28] 第2章 模板方法模式 (1小时45分钟 2节) 2-1模板方法模式_1[53:26] 2-2模板方法模式_2[51:36] 第3章 工厂、原型、建造者模式 (6小时42分钟 9节) 3-1工厂模式_1[52:38] 3-2工厂模式_2[49:57] 3-3工厂模式_3[42:46] 3-4工厂模式_4[41:26] 3-5原型模式_1[36:44] 3-6原型模式_2[37:59] 3-7建造者模式_1[51:06] 3-8建造者模式_2[55:51] 3-9建造者模式_3[34:17] 第4章 策略模式 (1小时26分钟 2节) 4-1策略模式_1[58:34] 4-2策略模式_2[27:37] 第5章 观察者模式 (1小时12分钟 1节) 5-1观察者模式[01:12:53] 第6章 装饰模式 (1小时23分钟 1节) 6-1装饰模式[01:23:55] 第7章 单件模式 (1小时20分钟 1节) 7-1单件模式[01:20:11] 第8章 外观模式 (1小时 1节) 8-1外观模式[01:00:55] 第9章 命令模式 (1小时30分钟 1节) 9-1命令模式[01:30:50] 第10章 迭代器模式 (58分钟 1节) 10-1迭代器模式[58:10] 第11章 组合模式 (1小时34分钟 2节) 11-1组合模式_1[48:18] 11-2组合模式_2[46:25] 第12章 状态模式 (1小时43分钟 2节) 12-1状态模式_1[01:00:32] 12-2状态模式_2[43:27] 第13章 享元模式 (54分钟 1节) 13-1享元模式[54:56] 第14章 代理模式 (1小时12分钟 1节) 14-1代理模式[01:12:29] 第15章 适配器模式 (1小时6分钟 1节) 15-1适配器模式[01:06:12] 第16章 桥接模式 (1小时3分钟 1节) 16-1桥接模式[01:03:33] 第17章 中介者模式 (2小时9分钟 2节) 17-1中介者模式_1[01:01:54] 17-2中介者模式 _2[01:07:08] 第18章 备忘录模式 (1小时13分钟 1节) 18-1备忘录模式[01:13:04] 第19章 职责链模式 (1小时23分钟 1节) 19-1职责链模式[01:23:23] 第20章 访问者模式 (1小时40分钟 2节) 20-1访问者模式_1[41:46] 20-2访问者模式_2[58:38] 第21章 解释器模式 (2小时19分钟 2节) 21-1解释器模式_1[01:14:40] 21-2解释器模式_2[01:04:20] 第22章 设计模式总结 (19分钟 1节) 22-1设计模式总结[19:39] 第23章 类和对象——附赠 (6小时7分钟 12节) 23-1静态对象的探讨与全局对象的构造顺序[48:40] 23-2拷贝构造函数和拷贝赋值运算符[39:23] 23-3类的public继承(is-a关系)及代码编写规则[45:04] 23-4类与类之间的组合关系与委托关系[36:37] 23-5类的private继承探讨[23:19] 23-6不能被拷贝构造和拷贝赋值的类对象[20:27] 23-7虚析构函数的内存泄露问题深谈[23:54] 23-8类设计中的一些技巧_1[22:41] 23-9类设计中的一些技巧_2[46:09] 23-10类设计中的一些技巧_3[20:54] 23-11命名空间使用的一些注意事项[16:16] 23-12类定义的相互依赖与类的前向声明[24:07] 第24章 引用计数——附赠 (1小时52分钟 4节) 24-1shared_ptr实现及string存储简单说明[25:02] 24-2copy-on-write方式实现字符串类_1[28:11] 24-3copy-on-write方式实现字符串类_2[36:13] 24-4copy-on-write方式实现字符串类_3开始学习 第3章 虚函数 (3小时31分钟 6节) 3-1虚函数表指针位置分析[16:54] 3-2继承关系作用下虚函数的手工调用[33:14] 3-3虚函数表分析[51:07] 3-4多重继承虚函数表分析[32:15] 3-5辅助工具,vptr、vtbl创建时机[18:22] 3-6单纯的类不纯时引发的虚函数调用问题[59:16] 第4章 数据语义学 (6小时53分钟 11节) 4-1数据成员绑定时机[26:35] 4-2进程内存空间布局[25:35] 4-3数据成员布局[42:10] 4-4数据成员存取[34:22] 4-5单一继承下的数据成员布局[37:36] 4-6单类单继承虚函数下的数据成员布局[29:16] 4-7多重继承数据布局与this调整深谈[51:13] 4-8虚基类问题的提出和初探[42:42] 4-9两层结构时虚基类表内容分析[50:01] 4-10三层结构时虚基类表内容分析[37:40] 4-11成员变量地址、偏移、指针等重申[36:43] 第5章 函数语义学 (6小时48分钟 11节) 5-1普通成员函数调用方式[22:38] 5-2虚成员函数、静态成员函数调用方式[44:21] 5-3虚函数地址问题的vcall引入[17:55] 5-4静动态类型、绑定,坑点,多态体现深谈[47:57] 5-5单继承虚函数趣味性测试和回顾[22:49] 5-6多继承虚函数深释、第二基类,虚析构必加[01:06:43] 5-7多继承第二基类虚函数支持、虚继承带虚函数[34:03] 5-8RTTI运行时类型识别回顾与存储位置介绍[43:02] 5-9函数调用、继承关系性能说[39:14] 5-10指向成员函数的指针及vcall进一步谈[47:26] 5-11inline函数回顾和扩展细节说[22:50] 第6章 对象构造语义学 (8小时56分钟 11节) 6-1继承体系下的对象构造步骤[48:43] 6-2对象复制语义学、析构函数语义学[45:59] 6-3局部对象、全局对象的构造和析构[40:29] 6-4局部静态对象、对象数组构造析构和内存分配[47:26] 6-5new、delete运算符,内存高级话题[20:23] 6-6new、delete的进一步认识[38:37] 6-7new细节,重载类内operator new、del[01:06:17] 6-8内存池概念、代码实现和详细分析[01:02:47] 6-9嵌入式指针概念及范例、内存池改进版[01:00:56] 6-10重载全局new、delete,定位new及重载等[53:51] 6-11临时性对象的详细探讨[51:18] 第7章 对象模型之巅 (1小时47分钟 2节) 7-1模板及其实例化详细分析[01:05:17] 7-2邪门歪道、推荐书籍、结束语开始学习