随笔分类 -  设计模式

摘要:并发限制的异步调度器 实现的场景是:多文件上传 按照一定量的文件数上传,列如 2个,每次都是两个同时上传在其中一个完成才能接着后续的上传,正在上传的文件保持在一定的数量,防止数量一次性过大 * 这个调度器需要个调用限制长度 max字段 * 异步执行中的收集器 working 数组 * 待处理的异步收 阅读全文
posted @ 2022-11-03 17:22 xiao旭 阅读(81) 评论(0) 推荐(0) 编辑
摘要:项目背景:vue3 众所周知在重构的vue3后,vue2的bus总线通信就随之无法使用。 bus总线有点像 Vuex 或者 Pinia ,可以使用发布订阅模式来简单实现下。 不是很了解的同学可以 ♥ 观察者模式浅尝♥ ♥ 发布订阅模式浅尝♥ 原理分析: 参照发布订阅模式 需要一个list来存放相应的 阅读全文
posted @ 2022-09-14 14:20 xiao旭 阅读(907) 评论(0) 推荐(0) 编辑
摘要:发布订阅模式和观察者模式的不同在于,增加了第三方即事件中心;目标对象状态的改变并直接通知观察者,而是通过第三方的事件中心来派发通知。 按照上一篇的观察者可以看着出来,当发布一个主题发布一个消息时,所有的观察者都能接收到,但现实的业务中 会存在按照一定的条件进行消息的推送,并不是所有的观察者都需要; 阅读全文
posted @ 2022-07-25 15:37 xiao旭 阅读(64) 评论(0) 推荐(0) 编辑
摘要:观察者模式是什么 观察者模式(Observer),定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。 也可以叫发布-订阅模式(Publish/Subscribe)但是注意不尽然,这两个还是有一定区别的 两者最大的区别在于发布定于模式,多了个调度中心 阅读全文
posted @ 2022-07-12 14:17 xiao旭 阅读(71) 评论(0) 推荐(0) 编辑
摘要:迭代器模式 指提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。 迭代器模式可以把迭代的过程从业务逻辑中分离出来,使用迭代器模式后,即使不关心对象的内部结构,也可以安顺序访问其中的每个元素 jq中的迭代器 迭代器模式无非就是循环访问聚合对象中的每个元素。比如 each函数 阅读全文
posted @ 2022-02-07 21:14 xiao旭 阅读(32) 评论(0) 推荐(0) 编辑
摘要:函数柯里化是什么? 接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。 分析一下 输入是一个函数,并且这个函数拥有n个参数 输出也是一个函数,并且可以使用fn()()()这种方式调用 参数被柯里化过程中的函数被拆分 通过分析可以 阅读全文
posted @ 2022-01-17 16:31 xiao旭 阅读(41) 评论(0) 推荐(0) 编辑
摘要:每次回顾知识点都有不同的收获,对于前端程序原来说,闭包是个难懂又必须弄懂的概念。闭包的形成与变量的作用域及变量的生存周期密切相关。在此之前 先简单了解下这两个知识点 变量的作用域 变量的作用域,就是指变量的有效范围。就像我们常谈到的 在函数中声明的变量 在函数内有效 这就是这个变量的作用域 当在函数 阅读全文
posted @ 2021-11-05 19:50 xiao旭 阅读(54) 评论(1) 推荐(0) 编辑
摘要:1.背景 设计模式是一套被反复使用、多数人知晓的,经过分类的、代码设计经验的总结 其目的是为了代码可重用性、让代码更容易被他人理解、保证代码可靠性 是解决方案,重心是思想,目的是为了让代码更简便,简洁,可靠,易理解,易复用,也就是常说的高内聚,低耦合 2.基本原则有哪些? javascript中关于 阅读全文
posted @ 2021-11-01 20:50 xiao旭 阅读(59) 评论(0) 推荐(0) 编辑
摘要:单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点! 例如 有些对象我们往往只需要一个,比如线程池、全局缓存、浏览器中的window对象、jq对象等。我们在登录的时候登录的浮窗,无论我们点了多少次登录 浮窗只会被创建一次 这个浮窗我们就可以用单列模式来创建。 1.简单实现下单例模式 思路 阅读全文
posted @ 2021-10-31 20:35 xiao旭 阅读(41) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示