JavaScript设计模式
文章平均质量分 79
程序媛小y
一枚前端程序媛
展开
-
从 axios 源码学习设计模式
axios 的精髓在于他已经迭代了40个版本,npm 的 version 规则是首个版本号变化表示 api 不向下兼容,现在 axios 的主版本号已经从 0.x 迭代到了 1.x, 按理说应该和 vue 一样,是有 重大变更的。 而 axios 增加了这么多功能。却始终保持没有 api 明显变化。主要原因是 axios 内部使用了多种设计模式和架构模式。比如 适配器,桥接,代理,抽象工厂,微内核设计。原创 2023-07-27 01:24:28 · 946 阅读 · 0 评论 -
【JavaScript设计模式】命令模式
假设有一个快餐店,而我是该餐厅的点餐服务员,那么我一天的工作应该是这样的:当某位客人点餐或者打来订餐电话后,我会把他的需求都写在清单上,然后交给厨房,客人不用关心是哪些厨师帮他炒菜。我们餐厅还可以满足客人需要的定时服务,比如客人可能当前正在回家的路上,要求1个小时后才开始炒他的菜,只要订单还在,厨师就不会忘记。客人也可以很方便地打电话来撤销订单。另外如果有太多的客人点餐,厨房可以按照订单的顺序排队炒菜。这些记录着订餐信息的清单,便是命令模式中的命令对象。原创 2022-10-15 22:10:33 · 830 阅读 · 0 评论 -
【JavaScript设计模式】观察者模式
这篇文章并不是笔者原创,而是在学习设计模式中对比较好的文章的提炼与总结,作为笔记便于自己复习。观察者模式有一个“别名”,叫(之所以别名加了引号,是因为两者之间存在着细微的差异),这个别名非常形象地诠释了观察者模式里两个核心的角色要素——“发布者”与“订阅者”。周一刚上班,前端开发李雷就被产品经理韩梅梅拉进了一个钉钉群——“员工管理系统需求第99次变更群”。这个群里不仅有李雷,还有后端开发 A,测试同学 B。三位技术同学看到这简单直白的群名便立刻做好了接受变更的准备、打算撸起袖子开始干了。此时韩梅梅却说:“别原创 2022-10-15 21:37:14 · 2167 阅读 · 0 评论 -
【JavaScript设计模式】工厂模式
JavaScript设计模式-工厂模式原创 2022-10-15 21:32:30 · 1030 阅读 · 0 评论 -
【JavaScript设计模式】适配器模式
装饰者模式和代理模式也不会改变原有对象的接口,但装饰者模式的作用是为了给对象增加功能。适配器模式不需要改变已有的接口,就能够使它们协同作用。适配器模式的目的是为了解决对象之间的接口不兼容的问题,通过适配器模式可以不更改源代码的情况下,让两个原本不兼容的对象在调用时正常工作。适配器模式的作用很像一个转接口. 本来iphone的充电器是不能直接插在电脑机箱上的, 而通过一个usb转接口就可以了.外观模式的作用倒是和适配器比较相似,有人把外观模式看成一组对象的适配器,但外观模式最显著的特点是定义了一个新的接口。原创 2022-10-15 21:26:50 · 856 阅读 · 0 评论 -
【JavaScript设计模式】装饰器模式
装饰者模式可以动态地给某个对象添加一些额外的职责,而不会影响从这个类中派生的其他对象。这种给对象动态地增加职责的方式称为。装饰者模式能够在不改变对象自身的基础上,在程序运行期间给对象动态地添加职责。跟继承相比,装饰者是一种更轻便灵活的做法,这是一种“即用即付”的方式,比如天冷了就多穿一件外套,需要飞行时就在头上插一支竹蜻蜓,遇到一堆食尸鬼时就点开 AOE(范围攻击)技能。该例中,我们写了一个Decorator装饰器类,它重写了实例对象的create方法,给其方法新增了一个,因此最后为其输出结果进行了装饰。原创 2022-10-15 21:25:50 · 1916 阅读 · 0 评论 -
【JavaScript设计模式】单例模式
保证一个类仅有一个实例,并提供一个访问它的全局访问点相当于我们在应用程序中共享一个全局实例。原创 2022-10-06 15:46:22 · 567 阅读 · 0 评论