摘要:
1 命令模式的用途 应用场景: 有时需要向某些对象发送请求, 但是并不知道请求的接收者是谁, 也不知道被请求的操作是什么 此时希望用一种松耦合的方式来设计程序,使得请求发送者和请求接收者能够消除彼此之间的耦合关系 订餐 命令模式将客人订餐的请求(订单)封装成 command 对象 订单从服务员手中传 阅读全文
posted @ 2023-05-09 10:49
pleaseAnswer
阅读(172)
评论(0)
推荐(0)
摘要:
1 简介 作为一种优秀的设计模式,发布订阅者模式被广泛应用在前端领域 eg: 在 vue 的源码中,为了让数据劫持和视图驱动解耦 就是通过架设一层消息管理层实现的,而这一层消息管理层实现的原理就是发布订阅模式 现在举个现实中的例子来感受一下:你看上了一套房,到了售楼处被告知该楼盘的房子早已售罄。然后 阅读全文
posted @ 2023-05-09 10:49
pleaseAnswer
阅读(17)
评论(0)
推荐(0)
摘要:
1 简介 提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示 jQuery 中的迭代器 $.each([1, 2, 3], (i, n) => { console.log('当前下标:' + i) console.log('当前值:' + n) }) 2 实现自己的迭代器 阅读全文
posted @ 2023-05-09 10:49
pleaseAnswer
阅读(30)
评论(0)
推荐(0)
摘要:
1 简介 为一个对象提供一个代用品或占位符,以便控制对它的访问 应用:明星都有经纪人作为代理 关键:当客户不方便直接访问一个对象或不满足需求时,提供一个替身对象来控制对这个对象的访问,实际上访问的是替身对象 2 例子 -- 小明追mm的故事 1. 不使用代理 class Flower {} let 阅读全文
posted @ 2023-05-09 10:48
pleaseAnswer
阅读(23)
评论(0)
推荐(0)
摘要:
1 简介 定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换 2 使用策略模式计算奖金 以年终奖的计算为例 公司的年终奖是根据员工的工资基数和年底绩效情况来发放的。你负责编写代码来给财务计算员工的年终奖 1. 代码实现 /** * caculateBonus 计算每个人的奖金数额 * @ 阅读全文
posted @ 2023-05-09 10:47
pleaseAnswer
阅读(30)
评论(0)
推荐(0)
摘要:
1 简介 保证一个类仅有一个实例,并提供一个访问它的全局访问点 线程池、全局缓存、浏览器中的window对象 2 实现单例模式 思路:用一个变量来标志当前是否已为某个类创建过对象,是则在下一次获取该类的实例时直接返回之前创建的对象 function Singleton(name) { this.na 阅读全文
posted @ 2023-05-09 10:47
pleaseAnswer
阅读(37)
评论(0)
推荐(0)
摘要:
父组件调用子组件的方法 使用ref 使用变量+watch 使用中间class 使用中间class base-on-controller function receiveController(to, from) { Object.assign(to, from); } /* vue 混入模式 */ r 阅读全文
posted @ 2023-05-09 10:28
pleaseAnswer
阅读(65)
评论(0)
推荐(0)
浙公网安备 33010602011771号