JavaScript 设计模式精讲
以不变的设计应对常变框架
SHERlocked93 · 开源社区活跃贡献者

共计29节 · 已更新29节

1592人已订阅

课程亮点

  • 收获超过 20 种常见 JS 设计模式的提炼及实现过程;
  • 理清不同 JS 设计模式之间的区别、联系和适用场景;
  • 深入理解 JS 设计模式的核心思想和基本理念;
  • 掌握在具体场景下抽象 JS 设计模式的能力;
  • 在提炼和复盘中吸收经验,开拓视野,提升眼界。

课程介绍

随着前端技术的发展越来越快,前端科技树越点越深,TC39 委员会在不断审议各种提案,ECMAScript 标准每年推出新的语言规范,浏览器的版本在不断迭代推进新的技术方案,新的业务落地场景在不断兴起,前端开发者们随着技术的不断更迭,必须不断学习新技术、新工具、新框架。
图片描述

框架常变,但不变的是框架的设计。 掌握框架设计模式,正是以不变应万变的根基,也是在前端飞速发展多变里的一点永恒。用的编程语言虽然不一样,但设计方法是类似的;用的框架虽然不一样,但设计模式是类似的。学习设计模式可以了解多变框架背后不变的部分,掌握框架的本质与设计思想,让软件设计能力得到快速提升,从而能够指导编写一段健壮的代码、一个复杂的需求、一个可维护性高的系统、一个优秀的软件架构,在学习工作中事半功倍。

掌握 JavaScript 设计模式是迈向高级前端开发者的必备技能,也是软件设计的基础。若想有长远的发展进阶,须夯实这座地基。JavaScript 从一开始简单的表单验证作用,发展到如今的大前端应用,复杂的业务场景对前端开发者提出了更高的设计要求,已不仅仅是简单的功能实现需求。JS 设计模式在面试中出现的频率也越来越高,特别是需要三年及三年以上工作经验的前端岗位,会对软件设计能力进行着重考察。如果你希望成为项目的技术负责人,那么具备软件的设计与分层能力,则是能够成为一名项目负责人的基础。

讲师 SHERlocked93,资深前端工程师,开源社区活跃贡献者,技术公众号《前端下午茶》运营者,擅长 Vue 技术栈。现任大型国企前端团队负责人,主要负责前端技术预研、工程框架搭建、基础设施建设等工作。

根据专栏课程风格,每篇 JS 设计模式的文章结构大致如下:

1. 引入:从一个生活的具体场景引入该设计模式以加深理解;
2. 实现:基于具体场景讲解代码实现、优化方向和优化过程;
3. 分析:分析模式的结构图、关键点、优缺点与适用场景;
4. 总结:总结与其它模式之间的关联与区别。

希望本期专栏可以帮助大家更好地学习 JavaScript 设计模式,同时更欢迎大家踊跃留言,共同讨论。

专栏模块

本专栏由浅入深,讲解由 JavaScript 的基础开始,到传统设计模式在 JavaScript 中的实现。除传统设计模式外,也会为大家讲解其它常用的前端设计模式。主要分为四个模块:

基础篇

this、闭包与高阶函数、面向对象风格相关的继承等 JavaScript 设计模式前置知识的学习,为后续学习做良好铺垫。

创建型模式

学习如何创建对象,主要为将对象的创建和使用分离,通过抽象对象的实例化过程来帮助创建对象实例。内容包括单例模式、工厂模式、抽象工厂模式、建造者模式。

结构型模式

学习将对象按布局组成更大的结构。内容包括代理模式、享元模式、适配器模式、装饰者模式、外观模式、组合模式、桥接模式。

行为型模式

学习对象之间的通信,以及描述对象之间如何相互协作与分配职责。内容包括发布 - 订阅模式、策略模式、状态模式、模板方法模式、迭代器模式、命令模式、职责链模式、中介者模式。

其它模式

一些其它常用的前端设计模式,比如 MVC、MVP、MVVM、模块模式、链模式、中间件等。

查看全部
专栏目录
目录
适合人群
  • 1-3 年初中级前端开发工程师
  • 对深入学习 JavaScript 感兴趣的前后端开发者
  • 有一定的 JavaScript 实战经验的开发者
购买须知
  1. 本专栏为图文形式内容服务,共计 29 小节,上线时间为 2019 年 6 月 25 日,预计 2019 年 8 月更新完成;
  2. 本专栏更新时间为每周一,三,五更新 1 篇,形式为图文;
  3. 订阅成功后,用户即可通过慕课网 PC 端、App 端、WAP 端享有永久阅读的权限;
  4. 慕课专栏为虚拟内容服务,订阅成功后概不退款;
  5. 在专栏阅读过程中,如有任何问题,请邮件联系 kf@imooc.com;
  6. 慕课专栏版权归本平台所有,任何机构、媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发布 / 发表,违者将依法追究责任。
0 / 2
登录后可任选 2 个小节免费阅读
陈大鱼头

写得真好,学到了不少

讲师回复:鱼头鱼头我爱你 ???????
2019-08-15
3
东风破

写的真好,得多看几遍,实操几次

2019-09-05
1
qq_临界_0

等出纸质书

讲师回复:还遥遥无期呢哈哈~ 可能出不了
2019-06-27
3
开心每一天1111

一直使用javascript,还从来没在JS中使用过设计模式,膜拜了,必须要学习一下,学习的路上任重而道远呀。。。

讲师回复:可能你早就用了,只是不知道原来这就是设计模式啊?
2019-06-28
1
芜湖不芜

设计模式是应该好好学习一下,不能总是停留在初级,看源码的时候有用,给自己充下电。

讲师回复:主要是设计模式的思想,有一些设计模式在开发的时候也会经常用
2019-06-28
3
前端菜鸟一个

看93大佬的专栏真的很适合日常巩固,不然每天忙着做业务开发,很多东西学了没用转头就又忘了,感谢感谢。

讲师回复:转头就忘可以做笔记,有空的时候试着总结成文章发到社区,如果有问题的话会有人来留言(喷)的
2019-07-01
2
慕仰8345258

一直在找那个if-else的优化方法,受教了

讲师回复:可以可以,不断优化不断进步,才能提高 ?
2019-07-12
3
脑阔疼

确定是 推介阅读吗 [滑稽.gif]

讲师回复:emmmm,你想说啥
2019-07-22
1
脑阔疼

读到文尾 习惯性的想去点个赞 结果才意识到是专栏

讲师回复:哈哈哈,点赞好习惯,谢谢啦~
2019-07-22
0
精通vue的拼写

栗子很合适✌(̿▀̿ ̿Ĺ̯̿̿▀̿ ̿)✌

讲师回复:?
2019-06-26
0
wofei145

不错,设计模式很重要!

讲师回复:? 当然啦~ 设计模式的确很重要,如果想往上走的话
2019-06-30
1
拂衣凌云游

设计模式, 前端武功秘籍-九阳神功。学成之后,再学各种框架就进步神速。

讲师回复:np 啊大棒,看来你葵花宝典已经大成了
2019-07-01
1
630759294

之前对this 只限于使用,对this也有点模糊,看完了之后,看了两边了,一次比一次清楚。还剩下之后的箭头函数,

讲师回复:可以可以,有帮助就好,this 是基础,不弄清楚以后进阶会比较麻烦
2019-07-01
2
呼如林

别的先不说,每个小节的最前面都有写出学会这个小节所需要掌握的必备知识,如ES6语法的链接,就这一点太赞了,省力不少,不用看不懂,还不知道是缺少哪些知识,上网上搜都不知识搜索什么。

讲师回复:我的文章碍于篇幅没有长篇大论,所以这里的链接基本上是阮一峰老师的,更详细点,这也是为了观看方便~
2019-07-03
1
小感冒

感觉作者将 es5 代码 与 es6 代码都写了出来,很棒,可以加深对 javascript 基础的理解学习,就感觉以前学习的 es5 和 es6 知识都比较碎片化,现在在一定程度将这点连成了面。希望后面的章节也这么做。

讲师回复:有些场景靠类比较近的话,会写出来,有些ES5/ES6区别不大的,就没有写啦
2019-07-02
0
— 造烛求明,读书求理 —
¥48.00
立即购买