首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Javascript 设计模式
前端君
创建于2023-04-19
订阅专栏
介绍 Javascript 中常用的设计模式,文章内容部分来自于【JavaScript设计模式与开发实践】这本书
等 8 人订阅
共15篇文章
创建于2023-04-19
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
通俗易懂的理解 IoC 控制反转、依赖倒置
控制反转和依赖倒置原则特别适用于需要提高代码灵活性、可维护性和可测试性的场景,如大型应用程序和框架开发。合理使用可以降低耦合度,提高代码可维护性、可测试性和可扩展性,促进模块化、灵活性,使系统更易于理
23种常用设计模式分类
这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。 这些设计模式关注类和对象的组合。继承的概念被用来组合接口和定义组合对象获得新功能的方式。 这些设计模式特别关注对象之…
Javascript 设计模式 - 发布订阅模式
发布—订阅模式又叫观察者模式,它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知。在JavaScript开发中,一般用事件模型来替代传统的发布—订阅模式。 使用javascript实现发布订阅模式很简单,只需要将订阅者的回调函数存储起…
Javascript 设计模式 - 中介者模式
增加一个中介者对象后,所有的相关对象都通过中介者对象来通信,而不是互相引用,所以当一个对象发生改变时,只需要通知 中介者对象即可。中介者使各对象之间耦合松散,而且可以独立地改变它们之间的交互。中介者模式使网状的多对多关系变成了相对简单的一对多关系。 中介者模式是迎合最少知识原则…
Javascript 设计模式 - 单例模式
单例模式是一种常用的模式,有一些对象我们往往只需要一个,比如线程池、全局缓存、浏 览器中的 window 对象等。在 JavaScript 开发中,单例模式的用途同样非常广泛。试想一下,当我们单击登录按钮的时候,页面中会出现一个登录浮窗,而这个登录浮窗是唯一的,无论单击多少次登…
Javascript 设计模式 - 代理模式(Proxy Pattern)
1. 保护代理 2. 虚拟代理 3. 缓存代理 代理模式包括许多小分类,在 JavaScript 开发中最常用的是虚拟代理和缓存代理。虽然代理模式非常有用,但我们在编写业务代码的时候,往往不需要去预先猜测是否需要使用代理模式。当真正发现不方便直接访问某个对象的时候,再编写代理也…
Javascript 设计模式 - 策略模式
策略模式利用组合、委托和多态等技术和思想,可以有效地避免多重条件选择语句。 策略模式提供了对开放—封闭原则的完美支持,将算法封装在独立的 strategy 中,使得它们易于切换,易于理解,易于扩展。 策略模式中的算法也可以复用在系统的其他地方,从而避免许多重复的复制粘贴工作。 …
Javascript 设计模式 - 迭代器模式
迭代器模式可以把迭代的过程从业务逻辑中分离出来,在使用迭代器模式之后,即使不关心对象的内部构造,也可以按顺序访问其中的每个元素。 总结: 内部迭代器调用方式简答,但它的适用面相对较窄。 外部迭代器增加了一些调用的复杂度,但相对也增强了迭代器的灵活性,我们可以手工控制迭代的过程或…
Javascript 设计模式 - 组合模式(Composite Pattern)
当我们想执行一个宏大的任务时,这个任务可以被细分为多层结构,组合模式可以让我们只发布一次执行命令,就能完成整个复杂的任务,屏蔽层级关系和差异化问题。 组合模式应树形结构而生,所以组合模式的使用场景就是出现树形结构的地方。 命令分发: 只需要通过请求树的最顶层对象,便能对整棵树做…
Javascript 设计模式 - 模板方法模式(Template Method)
在传统的面向对象语言中,一个运用了模板方法模式的程序中,子类的方法种类和执行顺序都是不变的,所以我们把 这部分逻辑抽象到父类的模板方法里面。而子类的方法具体怎么实现则是可变的,于是我们把这 部分变化的逻辑封装到子类中。通过增加新的子类,我们便能给系统增加新的功能,并不需要改 动…
Javascript 设计模式 - 模板模式 & 适配器模式
在传统的面向对象语言中,一个运用了模板方法模式的程序中,子类的方法种类和执行顺序都是不变的,所以我们把 这部分逻辑抽象到父类的模板方法里面。而子类的方法具体怎么实现则是可变的,于是我们把这 部分变化的逻辑封装到子类中。通过增加新的子类,我们便能给系统增加新的功能,并不需要改 动…
Javascript 设计模式 - 享元模式
享元模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。 解决的问题: 在有大量对象时,有可能会造成内存溢出,我们把其中共同的部分抽象出来,如果有相同的业务请求,直接返回在内存中已有的对象,避免重新创建。 使用注意: 使用了享元模式之后,我们需要分别多维护…
Javascript 设计模式 - 职责链模式
在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推,直到有一个对象处理它为止。 这种类型的设计模式属于行为型模式。 职责链上的处理者负责处理请求,客户只需要将请求发送到职责链上即可,无须关心请求的处…
Javascript 设计模式 - 状态模式
状态模式允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。 这种类型的设计模式属于行为型模式。 状态模式的关键是区分事物内部的状态,事物内部状态的改变往往会带来事物的行为改变。 在状态模式中,我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 c…
Javascript 设计模式中的原则:单一职责、最少知识和开放-封闭原则
在 JavaScript 中,需要用到类的场景并不 太多,单一职责原则更多地是被运用在对象或者方法级别上,体现为:一个对象(方法)只做一件事情。 饰者模式。 1. 何时应该分离职责 SRP 原则是所有原则中最简单也最难正确运用的原则之一。 要明确的是,并不是所有的职责都应该一一…