首页
首页
BOT
沸点
课程
直播
活动
AI刷题
NEW
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
前端的设计模式
大骆
创建于2022-02-15
订阅专栏
从前端的角度来理解设计模式
等 30 人订阅
共29篇文章
创建于2022-02-15
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
『面试的底气』—— 设计模式之迭代器模式
迭代器模式是指提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。迭代器模式可以把迭代的过程从业务逻辑中分离出来,在使用迭代器模式之后,即使不关心对象的内部构造,也可以按顺
『面试的底气』—— 设计模式之桥接模式
抽像与它的实现分离,这并不是说,让抽像类与其派生类分离,这样的分离没有任何意义。实现指的是抽像类和它的派生类用来实现自己的对象。学习桥接模式关键是要理解抽象部分与实现部分的分离。
『面试的底气』—— 设计模式之适配器模式
适配器模式是解决两个类之间的方法不兼容的问题。使用适配器模式之后,原本由于方法不兼容而不能工作的两个类可以一起工作。 适配器模式是一个相对简单的模式。在程序开发中有许多这样的场景:当我们试图调用
『面试的底气』—— 设计模式之状态模式
允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。我们以逗号分割,把这句话分为两部分来看。第一部分的意思是将状态封装成独立的类,并将请求委托给当前的状态对象,当对象的内部状态
『面试的底气』—— 设计模式之享元模式
什么是享元模式 享元模式是一种用于性能优化的模式,享元模式的核心是运用共享技术来有效支持大量细粒度的对象。 如果系统中因为创建了大量类似的对象而导致内存占用过高,享元模式就非常有用了。 享元模式要求将
『面试的底气』—— 设计模式之模板方法模式
模板方法模式是一种只需使用继承就可以实现的非常简单的模式。 模板方法模式由两部分结构组成,第一部分是抽象父类,第二部分是具体的实现子类。 在抽象父类中封装了子类的算法框架,包括实现一些公共方法以
『面试的底气』—— 设计模式之组合模式
在上一篇介绍命令模式中,使用setCommand给按钮添加命令对象后,在执行命令对象中的execute时,只执行了请求接收者对象中的某个方法,那么要执行接收者对象中的多个方法呢? 或许你很容易就
『面试的底气』—— 设计模式之命令模式
什么是命令模式 用一个生活例子来介绍。假如你是一家餐厅的服务员,那么你的工作应该是这样的: 当某位客人点餐后,你要根据客人点的菜在电脑上创建一条订单,创建成功后,这条订单进入订单列表中,厨房会收到新订
『面试的底气』—— 设计模式之装饰者模式(二)
在 上一篇简单实现了JavaScript中类和普通对象的装饰者模式,本文来实现JavaScript中一等对象-函数的装饰者模式。 为啥函数需要装饰者模式 在开发过程中,想要为函数添加一些功能,最
『面试的底气』—— 设计模式之装饰者模式(一)
给对象动态地增加职责的方式称为装饰者模式,装饰者模式能够在不改变对象自身的基础上,在程序运行期间给对象动态地添加职责。跟继承相比,装饰者是一种更轻便灵活的做法,这是一种“即用即付”的方式,好比天冷了就
『面试的底气』—— 设计模式之职责链模式(三)
在 上一篇实现了一个可以灵活拆卸的职责链,但是其中职责链节点都是同步请求的,同步返回一个标识是否继续请求下一个职责链节点。本文将介绍职责链节点中式异步请求的,该如何处理。 异步的职责链节点 当一
『面试的底气』—— 设计模式之职责链模式(二)
在上一篇简单实现了一个职责链模式,但是其中职责的传递非常僵硬,且违背了开放-封闭原则,故本文来介绍一种一种灵活可拆分的职责链节点的实现。 解耦 先来看一下之前设计的职责链节点。 先将其解耦,怎
『面试的底气』—— 设计模式之职责链模式(一)
职责链模式的定义是:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。
『面试的底气』—— 设计模式之中介者模式
程序由大大小小的单一对象组成,所有这些对象都按照某种关系和规则来通信。在程序初始阶段,一个对象也行只和几个对象进行通信。但是当程序的规模增大,对象会越来越多,它们之间的通信会越来越复杂,难免会形成网状
『面试的底气』—— 设计模式之发布-订阅模式(三)
在上篇文章 中实现了一个简单的发布-订阅模式,但是其中有两个很严重的缺点,每个发布者都要有添加订阅者 、发布消息、移除订阅者的方法,还要需要一个缓存订阅者的列表,这样严重浪费内存资源,另外一个是
『面试的底气』—— 设计模式之发布-订阅模式(二)
用一个买手机生活的例子来生动形象介绍了什么是发布-订阅模式,并从中提取出一些发布-订阅模式的优点和作用,最后介绍了一个JavaScript中一个现成的发布-订阅模式(节点绑定DOM
『面试的底气』—— 设计模式之发布-订阅模式(一)
发布-订阅模式又叫观察者模式,它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知。在 JavaScript 开发中,我们一般用事件模型来替代传统的发布
『面试的底气』—— 设计模式之代理模式(二)
用类来实现代理模式中的虚拟代理,而不使用类的方式也可以实现代理模式,比如用高阶函数也可以实现一个代理模式。本文就用**高阶函数**来动态创建一个缓存代理来再次介绍代理模式。
『面试的底气』—— 设计模式之代理模式(一)
代理模式的关键是,当程序不方便或者不满足需要去直接访问一个对象的时候,提供一个替身对象来控制对这个对象的访问,程序实际上访问的是替身对象。替身对象对请求做出一些处理之后,再把请求转交给本体对象。
『面试的底气』—— 设计模式之策略模式(二)
在上期的文章中详情介绍什么是策略模式及如何实现一个简单的策略模式,在上期文章中实现的策略模式是采用类的方式实现,这是模拟一些传统面向对象语言的实现,代码量有点多。本文会介绍一个更简单和直接的做法来实现
下一页