![](https://img-blog.csdnimg.cn/20190921233639244.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JS设计模式
在面向对象设计过程中针对特定问题的优雅而简洁的解决方案。
易-水寒
这个作者很懒,什么都没留下…
展开
-
JS-观察者模式
如果说,你只能掌握一种设计模式,那必须毫不犹豫的选择观察者模式,也叫发布订阅模式。es6中promise的实现、vue中双向绑定原理的实现、Node.js中的 EventEmitter事件监听器等等都应用到了观察者模式,可见其应用之广泛那接下来具体看一下观察者模式到底是什么介绍一种对象间一对多的依赖关系,当一个对象的状态发送改变时,所有依赖于它的对象都将得到状态改变的通知。优点...原创 2019-09-26 16:14:25 · 201 阅读 · 0 评论 -
JS-代理模式
介绍代理是一个对象,它可以用来控制对本体对象的访问,它与本体对象实现了同样的接口,代理对象会把所有的调用方法传递给本体对象的;代理模式最基本的形式是对访问进行控制,而本体对象则负责执行所分派的那个对象的函数或者类,简单的来讲本地对象注重的去执行页面上的代码,代理则控制本地对象何时被实例化,何时被使用;优点1. 可以保护对象,代理对象可以代替本体被实例化,并使其可以被远程访问;2. ...原创 2019-09-27 11:01:13 · 388 阅读 · 0 评论 -
JS-策略模式
介绍定义一系列的算法,把它们一个个封装起来,将不变的部分和变化的部分隔开,实际就是将算法的使用和实现分离出来;策略模式由两部分构成:一部分是封装不同策略的策略组,另一部分是 Context。通过组合和委托来让 Context 拥有执行策略的能力,从而实现可复用、可扩展和可维护,并且避免大量复制粘贴的工作。优点1.策略模式利用组合,委托等技术和思想,有效的避免很多if条件语...原创 2019-09-27 17:01:12 · 187 阅读 · 0 评论 -
JS-单体模式
介绍单体模式是JavaScript中比较简单的且常用的模式。单体模式思想在于保证一个特定类仅有一个实例,意味着当你第二次使用同一个类创建信对象时,应得到和第一次创建对象完全相同。优点1.可以用来划分命名空间,减少全局变量的数量2.可以被实例化,且实例化一次实现老规矩举个栗子来解释一下:页面需要一个弹窗来展示接口返回的错误信息// 实现弹窗var createWind...原创 2019-09-29 11:18:30 · 282 阅读 · 0 评论 -
JS-装饰器模式
介绍在不改变类或对象自身的基础上,在程序的运行期间动态的添加职责。与继承相比,装饰者是一种更轻便灵活的做法。这里不要和之前讲的代理模式搞混,代理模式主要是对直接访问本体不方便或者不符合需要的时候提供一个代替者;装饰者模式主要是为对象动态添加一些行为优点可以动态的给某个对象添加额外的职责,而不会影响从这个类中派生的其它对象。实现老规矩举个栗子来解释一下:童年经典游戏魂斗罗...原创 2019-10-08 15:21:36 · 1034 阅读 · 0 评论