随笔分类 -  前端设计模式

摘要:组合模式 组合模式是以结构化的方式,是单一对象具有树形结构,让单一对象更具有结构性。 组合模式的实例 举个栗子,在雇员和雇主之间是都是存在上下级关系的,如何用代码更直观的表达和关系与关系的操作,这是一个棘手的问题。 但通过组合模式,将关系表达为树状结构将更方便更直观的表达,如下。 class Emp 阅读全文
posted @ 2021-02-05 01:04 懒惰ing 阅读(82) 评论(0) 推荐(0) 编辑
摘要:桥接模式 桥接模式的设计目的施不让下层组件组件的变化,影响上层的调用。 桥接模式的实例 假设我有两个类,但是它们有很多不确定性,可能在后续会变修改,如下: class RedCirlce { drawCircle(redius, x, y) { console.log(`Drawing Circle 阅读全文
posted @ 2021-02-03 23:17 懒惰ing 阅读(87) 评论(0) 推荐(0) 编辑
摘要:适配器模式 适配器模式是作为两个不同的接口的一种聚合,比如说SD卡适配器,无论使用TF或SD卡或者其它卡,对外输出都是USB接口。 适配器模式实例 我们用播放器为例,首先我们有两个设备,一个是Vlc播放器,一个是Mp4播放器,一个需要使用playVlc按钮来播放,一个要使用playMP4按钮来播放。 阅读全文
posted @ 2021-02-02 23:40 懒惰ing 阅读(129) 评论(0) 推荐(0) 编辑
摘要:装饰器模式 需求 4s店在卖一种车,价格为10万元,如果用户需要在此基础上加装一些配置则需要加钱。 比如加热座椅配置需要2万元,电动车后视镜需要0.8万元等等。 function Car() { this.price = 10; } Car.prototype = { addHeatSeat: fu 阅读全文
posted @ 2021-01-24 21:31 懒惰ing 阅读(101) 评论(0) 推荐(0) 编辑
摘要:建造者模式 与工厂模式的区别 工厂模式注重创建对象的整体思路,不关心你想要创建的对象是什么样的。 建造者模式注重创建对象的细节,善于创建复杂对象或者复合对象。 需求 比如有一家招聘中介公司,现在有一批纸质简历或者建立数据信息,为了做成统一的电子版简历,我们需要将这些信息进行整理。 const dat 阅读全文
posted @ 2021-01-24 18:39 懒惰ing 阅读(88) 评论(0) 推荐(0) 编辑
摘要:工厂模式 简单工厂模式 批量生产对象的时候没有必要一个一个对象去创建,减少重复性代码。 在函数内部创建一个空对象 再给这个对象添加属性和方法 将包装好的对象返回处理啊 function createPerson(name) { const o = {}; o.name = name; o.getNa 阅读全文
posted @ 2021-01-23 18:06 懒惰ing 阅读(98) 评论(0) 推荐(0) 编辑
摘要:工厂模式 简单工厂模式 简单工厂模式最大的优点在于实现对象的创建和对象的使用分离,将对象的创建交给专门的工厂类负责,但是其最大的缺点在于工厂类不够灵活,增加新的具体产品需要修改工厂类的判断逻辑代码,而且产品较多时,工厂方法代码逻辑将会非常复杂 举个栗子,宠物有很多种,我们目前有 class Dog 阅读全文
posted @ 2021-01-04 15:56 懒惰ing 阅读(146) 评论(0) 推荐(0) 编辑
摘要:单例模式 定义:是保证一个类只有一个实例,并且提供一个访问它的全局访问点。 解释; 当已经有一个实例时,并不会创建一个新的实例,而是返回现有的实例。 应用场景:比如一个网站的登录,点击登录后弹出一个登录弹框,即使再次点击,也不会再出现一个相同的弹框。 要实现一个单例模式,一个经典的方式是创建一个类, 阅读全文
posted @ 2021-01-04 00:01 懒惰ing 阅读(92) 评论(0) 推荐(0) 编辑

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