OuZuYu / javascript-design-patterns

《JavaScript设计模式》学习

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

javascript-design-patterns

《JavaScript设计模式》学习

  • 笔记写在注释中。
  • 原书中有些代码改成了es6的写法。
  • 使用html编写,以便一些实例能在浏览器环境中运行。

总结

平时常用

*工厂模式:**利用工厂函数创建并返回合适的实例或对象,将创建对象的逻辑解耦,如添加减少一行的操作,行对象可以在一个工厂函数中创建

**桥接模式:**将抽象与实现分离,如请求函数抽出来,可以在不同的地方调用,做不同的处理,将传参和数据处理的代码写在一个函数中,这个函数就是桥接函数

**门面模式:**创建一些方法使得更易用,如创建一个方法进行浏览器兼容性的判断,返回能用的 或 组合多个操作

平时不常用

**组合模式:**动态组合一批对象,一条命令可对所有对象进行操作,适合操作 dom 的时代,现在 mvvm 框架不需要自己操作 dom ,操作好数据即可

**装饰者模式:**接收原对象,不需装饰的调用原对象的方法,需要装饰的重写,同上适合操作 dom 的时代

**常量:**现在直接使用 es6 的 const 即可,以往可以创建只有取值器没有赋值器的私有变量模拟

**封装:**通过类或构造函数的方式封装代码

**单体模式:**把相关的变量,方法放到一个对象中集中管理,可以避免变量污染,也可以用封装代替单体

**接口:**检查对象是否和有相应的值

**观察者模式:**把一系列方法存到数组,可以循环调用,例如 vue 源码中,每个属性都创建了一个观察者系统,存放相关的 watcher ,属性修改时,循环全部 watcher 执行更新

About

《JavaScript设计模式》学习


Languages

Language:HTML 98.7%Language:JavaScript 1.3%