给前端同学的设计模式精讲课
甩开“学不会”的思想压力,只学 7 种,学透 7 种
从“写代码”到“写好代码”到“设计代码”,不仅是技术的提升,更是编程思维的提升,其中最关键的就是设计模式。但很多人想学习设计模式时,往往是查到的资料一堆,有用的知识少见,学得云里雾里,难以实践。本课从23种设计模式中精选前端常用的7种设计模式,利用场景化实例教学,让想学的人真正学明白、会应用、能实践。
适合人群
任何想学习设计模式的前端人员
希望一鸣惊人的应届生
想要造轮子搭工具的技术玩咖
技术储备
熟悉 Javascript
了解 Vue 和 React
环境参数
vue 3.0
React 17
相关课程:
章节目录:
第1章 课程介绍 试看2 节 | 18分钟
本章介绍课程主要内容,学习目标,学习方法和注意事项。
收起列表
视频:
1-1 导学 (06:45)
试看
视频:
1-2 -下载课程源代码和电子书 (10:41)
第2章 面向对象 OOP 和 UML 类图 - 前端开发的必备编程思想18 节 | 122分钟
本章是课程的基础知识铺垫。课程使用 Typescript 做代码演示,所以先介绍 Typescript 类型。设计模式是基于面向对象编程 OOP 的,所以先介绍面向对象的概念。UML 类图是面向对象编程的重要设计工具。
收起列表
视频:
2-1 章介绍 (08:20)
图文:
2-2 章介绍-讲义
视频:
2-3 Typescript 介绍 - 前端最热门的编程语言 (09:41)
图文:
2-4 TS 简介-讲义
视频:
2-5 Typescript 基础类型 (10:58)
视频:
2-6 Typescript 自定义类型和 interface (11:27)
视频:
2-7 面向对象 - 前端主流的编程思想 (08:06)
图文:
2-8 什么是面向对象?-讲义
视频:
2-9 面向对象重要概念-类和实例 (08:54)
视频:
2-10 面向对象三要素-继承,封装,多态 (22:43)
视频:
2-11 Vue 和 React 组件也是对象 (04:42)
图文:
2-12 UML 类图
视频:
2-13 UML 类图-单个类 (12:43)
视频:
2-14 UML 类图-类之间的关系 (14:53)
视频:
2-15 UML 类图-关联关系的细化 (06:04)
视频:
2-16 章总结 (03:08)
图文:
2-17 章总结-讲义
作业:
2-18 课后作业
第3章 设计原则 - 设计模式只是套路,设计原则是指导思想 试看12 节 | 56分钟
设计模式应该分开读:从设计到模式。因此先从基本的设计原则入手,引用《UNIX/Linux设计哲学》一书来辅助讲解。然后再由设计过度到模式,介绍 23 种设计模式。
收起列表
视频:
3-1 章介绍 (06:28)
图文:
3-2 章介绍
图文:
3-3 设计原则-讲义
视频:
3-4 -设计原则-感性与理性 (11:24)
试看
视频:
3-5 SOLID 五大设计原则 - 软件设计和开发的参考标准 (13:10)
视频:
3-6 Unix-Linux 设计哲学 - 前辈们总结出来的经验 (13:02)
试看
图文:
3-7 UNIX Linux 设计哲学-讲义
视频:
3-8 介绍 23 种设计模式 (09:09)
图文:
3-9 介绍 23 种设计模式-讲义
视频:
3-10 章总结 (02:14)
图文:
3-11 章总结-讲义
作业:
3-12 作业
第4章 工厂模式 - 封装实例的创建过程,解放 Vue React 内部都在用13 节 | 66分钟
工厂模式是前端常用设计模式之一。本章将详细讲解工厂模式,从概念背景,到代码示例和 UML 类图,最后到它的具体使用场景。
收起列表
视频:
4-1 章介绍 (04:35)
图文:
4-2 章介绍-讲义
图文:
4-3 工厂模式介绍-讲义
视频:
4-4 什么是工厂模式,它主要解决什么问题 (06:37)
视频:
4-5 工厂模式代码演示和 UML 类图-简易版本 (08:25)
视频:
4-6 工厂模式代码演示和 UML 类图-标准版本 (15:34)
图文:
4-7 演示-讲义
视频:
4-8 工厂模式的场景-jQuery (17:27)
视频:
4-9 工厂模式的场景-Vue和React的createElement (09:34)
图文:
4-10 场景-讲义
视频:
4-11 章总结 (03:48)
图文:
4-12 章总结-讲义
作业:
4-13 课后作业-并动手画出 UML 类图
第5章 单例模式 - 全局只允许有一个实例,多则出错(用 TS 语法实现更优雅)10 节 | 45分钟
单例模式是前端常用设计模式之一,而且单例模式的设计思想到处都能体现,如 Vuex 全局唯一的 store 。本章将详细讲解单例模式,从概念背景,到代码示例和 UML 类图,最后到它的具体使用场景。
收起列表
视频:
5-1 章介绍 (02:49)
图文:
5-2 章介绍-讲义
视频:
5-3 什么是单例模式,它解决什么问题 (06:21)
视频:
5-4 单例模式的演示-使用 Typescript (15:40)
视频:
5-5 单例模式的演示-使用 Javascript (08:40)
图文:
5-6 单例模式的演示-讲义
视频:
5-7 单例模式的场景-登录框 (07:56)
视频:
5-8 章总结 (02:58)
图文:
5-9 章总结-讲义
作业:
5-10 作业-把其中的 Typescript 代码演示自己写一遍
第6章 观察者模式 - 前端(及其他 UI 编程)最常用的设计模式,工作必用,面试必考 18 节 | 112分钟
观察者模式是前端最常见的设计模式,也是其他 UI 编程最常用的编程模式。本章将详细讲解观察者模式,从概念背景,到代码示例和 UML 类图,最后到它的具体使用场景。此外,还要对比观察者模式和发布订阅模式,学完能让你一眼看出他们的区别。...
收起列表
视频:
6-1 章介绍 (03:22)
图文:
6-2 章介绍-讲义
视频:
6-3 什么是观察者模式,它解决什么问题 (05:36)
图文:
6-4 观察者模式-讲义
视频:
6-5 观察者模式代码演示和 UML 类图 (14:01)
视频:
6-6 观察者模式的场景-Vue 组件生命周期 (06:15)
视频:
6-7 -观察者模式的场景-Vue watch (19:06)
视频:
6-8 -观察者模式的场景-各种异步回调函数 (19:03)
视频:
6-9 -观察者模式的场景-MutationObserver (10:50)
图文:
6-10 观察者模式的场景-讲义
视频:
6-11 观察者模式和发布订阅模式的区别 (05:05)
图文:
6-12 vs 发布订阅模式-讲义
视频:
6-13 发布订阅模式的场景-自定义事件-Vue3 推荐使用 mitt (10:35)
视频:
6-14 发布订阅模式的场景-postMessage 通讯 (07:59)
视频:
6-15 组件销毁前 off 自定义事件 (07:24)
视频:
6-16 章总结 (02:34)
图文:
6-17 章总结-讲义
作业:
6-18 模拟面试:请描述观察者模式和发布订阅模式的区别
第7章 迭代器模式 - 遍历数据不仅仅是for和forEach ,还有Iterator 16 节 | 76分钟
普通的 for 循环不是迭代器,它有很多限制,所有高级编程语言都需要迭代器。JS 的有序结构就内置了迭代器,学完本章你讲详细掌握 JS 内置迭代器,以及 Generator 生成器。
收起列表
图文:
7-1 章介绍-讲义
视频:
7-2 章介绍 (03:02)
视频:
7-3 普通 for 循环不是迭代器 (05:22)
图文:
7-4 迭代器介绍-讲义
图文:
7-5 迭代器模式-UML类图和代码演示-讲义
视频:
7-6 迭代器模式-UML类图和代码演示 (13:20)
图文:
7-7 迭代器模式的场景-讲义
视频:
7-8 迭代器模式的场景-JS中的有序结有那些? (05:54)
视频:
7-9 迭代器模式的场景-JS 内置迭代器 Symbol.iterator (07:02)
视频:
7-10 迭代器的场景-自定义简易迭代器 (04:02)
视频:
7-11 迭代器模式的场景-迭代器在 JS 中的实际应用 (15:26)
视频:
7-12 迭代器模式的场景-Generator 生成器 (12:18)
视频:
7-13 迭代器模式的场景-使用Generator遍历DOM树 (06:23)
图文:
7-14 章总结-讲义
视频:
7-15 章总结 (02:35)
作业:
7-16 模拟面试:请使用 Generator 遍历一个 DOM 树
第8章 原型模式 - 原型和原型链是 JS 必备的基础知识,还扩展了JS对象属性描述符 19 节 | 68分钟
JS 对象是基于原型的,原型和原型链是 JS 的基础知识。因此,原型模式也是我们必须要学习掌握的。本章将详细介绍原型模式,并配合 JS 原型和原型链一起理解。
收起列表
图文:
8-1 章介绍-讲义
视频:
8-2 章介绍 (03:45)
图文:
8-3 原型模式的介绍和演示-讲义
视频:
8-4 原型模式的介绍和演示 (02:55)
视频:
8-5 JS 原型的基础知识- prototyp e和 __proto__ (11:30)
图文:
8-6 原型和原型链-讲义
视频:
8-7 图解 JS 原型链 (11:10)
图文:
8-8 原型模式的场景-讲义
视频:
8-9 原型模式的场景-Object.create (03:33)
图文:
8-10 JS 对象属性描述符-讲义
视频:
8-11 对象属性描述符-如何获取和设置 (05:13)
视频:
8-12 对象属性描述符-value (04:14)
视频:
8-13 对象属性描述符-configurable (02:48)
视频:
8-14 -对象属性描述符-writable-对比Object.freeze和Object.seal (10:24)
视频:
8-15 对象属性描述符-ennumerable (06:25)
视频:
8-16 扩展-如何遍历对象的Symbol属性 (03:08)
图文:
8-17 章总结-讲义
视频:
8-18 章总结 (02:07)
作业:
8-19 课后作业
第9章 装饰器模式 - Decorator现已是JS 的标准语法,装饰器正在前端普及开来 15 节 | 47分钟
装饰器模式是前端常用的设计模式之一。ES 规范早已引入了装饰器语法,Typescript 也原生支持装饰器语法,是前端工程师必备的技能。本章将详细讲解装饰器模式,从概念背景,到代码示例和 UML 类图,最后到它的具体使用场景:Typescript 装饰器语法。...
收起列表
图文:
9-1 章介绍-讲义
视频:
9-2 章介绍 (02:15)
图文:
9-3 装饰器模式介绍-讲义
视频:
9-4 什么是装饰器模式,它解决什么问题 (04:11)
图文:
9-5 演示-讲义
视频:
9-6 装饰器模式的 UML 类图和代码演示 (06:40)
图文:
9-7 装饰器模式的场景-讲义
视频:
9-8 装饰器模式的场景-装饰 class (06:43)
视频:
9-9 装饰器模式的场景-装饰 class 方法 (09:37)
视频:
9-10 装饰器模式的场景-Angular和React-redux (04:39)
视频:
9-11 装饰器模式的场景- AOP 面向切面编程 (10:38)
图文:
9-12 章总结-讲义
视频:
9-13 章总结 (02:17)
作业:
9-14 作业:根据你的理解,写一个 AOP 的示例
图文:
9-15 扩展-AOP 介绍
第10章 代理模式 - 无论开发环境还是线上环境,编程处处有代理
代理模式是前端常用的设计模式之一,Proxy 早已是 ES 的标准语法,Vue3 也使用 Proxy 实现数据响应式。本章将详细介绍代理模式,并配合 Proxy 语法和应用一起理解。
第11章 其他设计模式 - 虽然有些模式不常用,但其编程思路很常用
除了上述常用的设计模式之外,还有其他一些不太常用、但对日常编程启发很大的设计模式,也值得一起学习。本章讲详细介绍这些设计模式,包括职责链模式、策略模式、适配器模式、组合模式,以及常见的 MVC 和 MVVM。
第12章 实战演练 - 看两个面试真题,体会一下设计模式的价值
对于工作经验超过 3 年的同学,面试是经常考察项目设计问题的,这就会用到设计模式。本章就准备了两个面试真题,让你亲身体会面试过程中设计模式的重要性。
第13章 课程总结
课程内容回顾,课程总结。
|