设计模式
文章平均质量分 67
码上秃头
这个作者很懒,什么都没留下…
展开
-
JavaScript设计模式(五)发布-订阅模式
很多文章都把 发布订阅模式 和 观察者模式区别开来,从根本来说是同一种设计模式。抛开代码,假设我们订阅某个频道的咨询,一旦有新资讯发布,就能立即收到通知。我们只需要订阅某个事件即可。 我们经常使用的 DOM 事件,使用的就是发布订阅模式,我们逐步解析: 摘录来自: 曾探. “JavaScript设计模式与开发实践 (图灵原创)。 document.body.addEventListener( 'click', function(){ alert(2); }, false ); document原创 2021-06-15 22:03:20 · 314 阅读 · 6 评论 -
JavaScript设计模式(四)代理模式
代理模式 我们来回顾上一章策略模式留下的问题: 假设公司的绩效等级分为 A,B,C,D,E 年终奖对应的绩点为 2,1.8,1.5,1.1,0.8。假设年终基数为 base,年终奖为:年终基数 * 绩点。已知绩效等级,求员工的年终奖。 // 绩效等级和绩点的映射关系 const levelToCredit = { A: 2, B: 1.8, C: 1.5, D: 1.1, E: 0.8 } // 年终奖计算逻辑 function getsalary(base,原创 2021-06-06 17:08:59 · 100 阅读 · 0 评论 -
JavaScript设计模式(三)策略模式
二、策略模式 笔者使用过的设计模式中,策略模式是常用的模式并且非常的实用。举一个小例子你可能会恍然大悟,原来你一直在用,只不过不知道它叫策略模式,策略模式用在那些代码结构相似但是内部逻辑不相同的场景。 现在有一个需求,要你在页面上展示今天是星期几,你会怎么做?可以试着给自己一分钟思考;时间到,第一点,我们要知道 JavaScript 的日期实例 new Date().getDay() 能够返回今天星期几的数字,0 代表星期天,1 代表星期一,2 代表星期二 … 以此类推。假设我们不知道什么设计模式,代码雏原创 2021-05-26 23:49:19 · 130 阅读 · 1 评论 -
JavaScript设计模式(二)单例模式
工厂函数 单例模式指的是无论调用多少次工厂函数,都只会返回相同的实例。在这之前,你需要对闭包有些许了解,我们来看一段代码: /** 单例工厂函数 */ function SingletonFactory(Fn) { let instance = null // 实例缓存 return function() { if(instance) return instance // 如果有直接返回 return instance = new Fn(arguments) } } functi原创 2021-05-07 22:46:35 · 146 阅读 · 0 评论 -
JavaScript设计模式(一)前言
一、设计模式存在的意义 几乎每一门语言都会使用一定的设计模式来编写代码,JavaScript也不例外。很多刚入门的开发者,他们在面对庞大的前端知识体系时,只知道设计模式也非常重要,就草草的 ...原创 2021-05-06 22:49:33 · 126 阅读 · 0 评论