设计模式
文章平均质量分 62
赵sir来了
taste new experience
展开
-
手写一个Vue数据绑定(配图文)
学前准备:Object.defineProperty、观察者模式index.html 的准备:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, ...原创 2019-10-20 11:41:03 · 191 阅读 · 0 评论 -
模板方法模式
什么是模板方法模式模板方法模式(Template Method) ——基于继承的设计模式模板方法模式是一种典型的通过封装变化提高系统扩展性的设计模式。在传统的面向对象语言中,一个运用了模板方法模式的程序中,子类的方法种类和执行顺序都是不变的,所以我们把这部分逻辑抽象到父类的模板方法里面。而子类的方法具体怎么实现则是可变的,于是我们把这 部分变化的逻辑封装到子类中。通过增加新的子类,我们便能给系...原创 2019-10-13 16:02:34 · 165 阅读 · 0 评论 -
单例模式
定义保证一个类仅有一个实例,并提供一个访问它的全局访问点。有的时候我们创建一个对象仅仅需要一个,比如线程池、浏览器中的 window 对象等。在 JavaScript 中,单例模式的用途同样非常的广泛。例如,我们做一个提示浮窗,可以让他显示登录成功,登录失败,密码错误等等,无论我们显示多少次提示浮窗,这个浮窗都仅仅创建一次(是唯一的),这样可以有效地节约内存资源。创建注意:单例模式会运用...原创 2019-08-01 17:32:15 · 86 阅读 · 0 评论 -
js中的策略模式
定义策略模式指的是定义一系列的算法,把它们一个个封装起来。将不变的部分和变化的部分隔开是每个设计模式的主题,策略模式也不例外,策略模式的目的就是将算法的使用与算法的实现分离开来。通常一个基于策略模式的程序至少由两部分组成。第一个部分是一组策略类,策略类封装了具体 的算法,并负责具体的计算过程。 第二个部分是环境类 Context,Context 接受客户的请求,随后把请求委托给某一个策略类。...原创 2019-08-23 17:32:29 · 882 阅读 · 1 评论 -
JavaScript中的代理模式
什么是代理模式?在现实生活中,可以找到很多使用了代理模式的场景。例如:我想要去租房,一般的做法是不是找个中介,给你介绍房子,这样你可以节约很多的时间和精力,而这时候中介就是代理;如果有商家想找某某明星打广告,是不是一般先找这个明星的经纪人,和这个经纪人商量好一些片酬和细节,而后在把这个合同(结果)交给明星,而这个经纪人就是代理。定义: 代理模式给某一个对象提供一个代理对象,并由代理对象控制对原...原创 2019-09-13 16:48:53 · 189 阅读 · 0 评论 -
命令模式
命令模式是什么在 JavaScript 中 命令模式是一种隐性的模式种情况为发出者直接作用于执行者,这样耦合度很高,另外一种情况为,在发出者和执行者之间增加一个用存储命令的命令访问库也即命令命令模式。可以死使得请求发送者和请求接收者之间能够消除彼此之间的解耦关系不要随便使用这个模式一般如果我们的业务中有撤销操作、重新开始的操作,可以考虑使用这个命令,例如在下棋的时候进行的悔棋的操作,重...原创 2019-09-29 18:37:43 · 157 阅读 · 0 评论 -
js 中的组合模式
什么是组合模式其实在上面一篇博客中提到过一个宏命令,而这个宏命令和组合模式比较像。成一组子命令,形成一颗树型的结构(暂且这样理解),只不过组合模式更加复杂而已。图解:注意:组合模式不是父子关系,而是一种聚合的关系。组合对象把请求委托给它所包含的所有叶对象,它们能够合作的关键是拥有相同的接口组合模式除了要求组合对象和叶对象拥有相同的接口之外,还有一个必要的条件,就是对一组叶对象的操作必...原创 2019-10-07 15:07:02 · 1636 阅读 · 0 评论