首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
设计模式
summer夏
创建于2021-12-06
订阅专栏
设计模式学习
等 1 人订阅
共18篇文章
创建于2021-12-06
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
js设计模式-中介者模式
定义 在应用程序里中,程序由大大小小的单一对象组成,所有这些对象都按照某种关系和规则来通信,但由于这些细粒度对象之间的联系激增,又有可能会反过来降低它们的可复用性。 中介者模式的作用就是解除对象与对象
js设计模式-职责链模式
定义 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 举个例子 假设我们负责一个售卖手机的电商网站,经
js设计模式-享元模式
定义 享元模式是一种用于性能优化的模式,其核心是运用共享技术来有效支持大量细粒度的对象。 应用场景 一个程序中使用了大量的相似对象 由于使用了大量对象造成很大的内存开销 对象的大多数状态都可以变为外部
js设计模式-装饰者模式
定义 在不改变对象自身的基础上,在程序运行期间给对象动态的添加职责。这种动态添加职责的方式称为装饰者模式。 传统的装饰者模式 但是这种方式存在以下问题: 必须维护_a这个中间变量 this指向问题,尖
js设计模式-模板方法模式
定义 模版方法模式一般由两部分组成,第一部分是抽象父类,第二部分是具体的实现子类。通常在父类中封装了子类的算法架构,包括实现一些公共方法以及封装子类中所有方法的执行顺序。子类通过继承这个抽象类,也继承
js设计模式-组合模式
什么是宏命令 宏命令是一组命令的集合,通过执行宏命令的方式,可以依次执行一批命令。 例子 什么是组合模式 在上述宏命令例子中,macroCommand被称为组合对象,而closeDoorCommand
js设计模式-命令模式
命令模式中的命令(command)指的是一个执行某些特定事件的指令,最常见的应用场景是:有时候需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是什么。此时希望用一种松耦合的方
js设计模式-发布订阅模式
定义 代码实现 通过全局对象来把订阅者和发布者联系起来 需求升级 增加命名空间 增加先发布后订阅的功能 😔 *以下代码功能不太完善还需优化,技术不精,暂未成功 *
js设计模式-迭代器模式
定义 分类 迭代器可以分为内部迭代器和外部迭代器,他们有各自的使用场景 内部迭代器:forEach函数,$.each 外部迭代器:Iterator 终止迭代器:迭代器可以像普通for循环中的break
js设计模式-代理模式
定义 条件 代理模式中需要保持代理和本体接口的一致性,这样做我们有两个好处: 用户可以放心地请求代理,他只关心是否能得到想要的结果。 在任何使用本体的地方都可以替换成使用代理。 虚拟代理实例 虚拟代理
js设计模式-策略模式
定义 当我们要实现某个功能有多种方案可以选择时,我们可以定义一系列的算法,把他们一个个封装起来,并且使它们可以相互替换,这种解决方案就是策略模式。 例子 以策略模式计算奖金 利用一等函数对象实现策略模
js设计模式-单例模式
定义 保证一个类仅用一个实例,并提供一个访问它的全局访问点。 代理模式实现单例 通用的惰性单例 惰性单例指的是在需要的时候才创建对象实例,将单例管理方法与创建实例方法分开,可以复用单例管理方法创建不同
js设计模式-高阶函数
定义 高阶函数是指至少满足下列条件之一的函数。 函数可以作为参数被传递 函数可以作为返回值输出 应用场景 作为参数传递 回调函数 Array.prototype.sort 作为返回值输出 判断数据的类
js设计模式-闭包
变量的作用域 变量的作用域,即变量的有效范围。 当变量前面没有带上关键字var,该变量就会成为全局变量 如果是用var声明的变量,这个变量就是局部变量,只有在当前作用域才能访问 当前作用域没有找到该变
js设计模式-this
JS中,this总指向一个对象,而具体指向那个对象是在运行时基于函数的执行环境动态绑定的,而非函数被声明时的环境。this的指向大致可以分为以下4种。 作为对象的方法调用 作为普通函数调用 当函数作为
js设计模式-原型模式
定义 原型继承的基本规则 所有的数据都是对象 要得到一个对象,不是通过实例化类,而是找到一个对象作为原型克隆它 对象会记住它的原型 如果对象无法响应某个请求,它会把这个请求委托给它自己的原型 new运
设计模式-js面向对象
同一操作作用于不同的对象上面,可以产生不同的解释和不同的执行结果,换句话说,给不同的对象发送同一个消息的时候,这些对象会根据这个消息分别给出不同的反馈。
JS设计模式-状态模式
例子:图片上传 1)常规处理 2)状态模式封装 stateFac.js 优点: 缺点 应用场景 操作中含有庞大的多分支的条件语句,且这些分支依赖于该对象的状态,那么可以使用状态模式来将分支的处理分散到