![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
忽略我的表情
想吃天鹅的蜗牛
展开
-
js中介者模式总结
内容来自《JavaScript设计模式与开发实践》一书,本人不才,也是阅读这本书第二遍的时候才理解了这种模式的好处????现实中的中介者模式的场景:博彩公司打麻将的人经常遇到这样的问题,打了几局之后开始计算钱,A 自摸了两把,B 杠了三次,C 点炮一次给 D,谁应该给谁多少钱已经很难计算清楚,而这还是在只有 4 个人参与的情况下。在世界杯期间购买足球彩票,如果没有博彩公司作为中介,上千万的人一起...原创 2019-12-07 16:43:11 · 166 阅读 · 1 评论 -
js享元模式的简单总结
享元模式:是一种性能优化的设计模式,主要为了解决内存中创建了大量的相似对象而产生的性能问题。我们通过向页面中插入元素的方式来模拟,假如我们的需求是:向页面中插入100个div,内容分别为1 - 100,再接着插入100个h3,内容分别为1 - 100。下面来看一下没有使用享元模式的代码写法for (let i = 1; i <= 100; i++) { let div = docu...原创 2019-11-23 15:45:01 · 131 阅读 · 0 评论 -
js组合命令模式
总结一种js的设计模式:组合命令模式一.拿实际应用场景来举例:比如双十一的时候,业务部门需要我们丰富一下购物车结算功能:判断商品是否过期计算优惠发送账单消息给用户那么这三个命令一般是在用户点击“结算”按钮触发的,那么把他们封装在一起var MakeGroup = function() { return { commandList: [], add: functi...原创 2019-11-17 16:19:33 · 180 阅读 · 0 评论 -
js观察者模式(发布订阅模式)
首先举一个现实生活中的例子:小区门口有一家商店,每天都会有很多小区里的人来商店买烟( 不提倡吸烟哦,只是举个例子???? ),那刚好昨天卖完了,老板去进货,也不知道什么时候回来,那售货员这时一般都会把每一个客人的电话或者微信留下来,等老板把烟进回来后,售货员再通过记录的联系方式告诉每一个客人:“货到了,来买吧”。那这就是一个观察者模式,即使是售货员辞职了,来了新的售货员也没有关系,依然是等到烟到了的时...原创 2019-10-26 15:03:12 · 92 阅读 · 0 评论 -
js代理模式总结
代理模式的定义:当一个请求想要访问一个原始对象A的时候,实际访问的是A的代理对象B,由对象B对请求做出一些处理之后,在把请求转交给原始对象A。案例一( 一般代理模式 )场景:某一天小明数学考试考了50分,这时候如果老师直接把试卷给到父亲的手里,那小明怕是免不了一顿毒打;那如果老师把试卷给了小明,小明再回家给到父亲,那小明是不是可以在给父亲之前改一下自己的分数呢?在这个过程中:老师把试卷给...原创 2019-10-20 16:05:30 · 142 阅读 · 0 评论 -
js单例模式总结
首先,单例模式的定义 是:保证一个类仅有一个实例,并提供一个访问它的全局访问点。案例:我们拿水果店来举例,首先创建一个水果店的类,保证不论多少次调用都只会创建一个水果店的实例var Fruit = function( name ){ this.name = name;};Fruit.prototype.getName = function(){ console.log( this....原创 2019-09-22 14:48:49 · 142 阅读 · 0 评论 -
js策略模式总结
策略模式的定义:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。(来自《JavaScript设计模式与开发实践》)**案例一:**假设我们有18元钱,打算去买水果,水果店里有三种水果:苹果(1元)、雪梨(单价2元)、香蕉(单价6元),那么我们买不同种类的水果,买到的数量是不一样的,接下来收我们用策略模式来模拟一下let buyFruits = { 'apple': funct...原创 2019-10-07 10:12:14 · 127 阅读 · 0 评论