摘要: 行为模式:策略模式 策略模式: 定义一系列的算法,把他们一个个封装起来,并且使它们可相互替换。 假设场景:有同一个商品,通过在后台给它设置不同的价格类型,让他展示不同的价格。 当价格类型为“预售价”时,满 100 - 20,不满 100 打 9 折 当价格类型为“大促价”时,满 100 - 30,不 阅读全文
posted @ 2021-04-16 13:50 SaBoo 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 结构性:代理模式 代理模式:在某些情况下,出于某种限制,一个对象不能直接访问另一个对象,需求通过第三者(代理)牵线搭桥从而达到访问的目的。 在ES6中,提供专门以代理角色出现的代理器 Proxy。 假设一个场景,有一个介绍所,我们用代理模式模拟一下。 1 /** 2 * 代理模式 保护代理 3 * 阅读全文
posted @ 2021-04-14 11:31 SaBoo 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 适配器模式实践:axios axios本身就用到了适配器模式,他的兼容方案值得学习和借鉴。 axios的强大之处,在于它不仅仅局限于浏览器端的库,在Node 环境下,也照样好使,axios完美地磨平了两种环境下api的调用差异 ,靠的正是对适配器模式的灵活运用。 在axios的核心逻辑中,实际上派发 阅读全文
posted @ 2021-04-13 16:10 SaBoo 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 结构型: 适配器模式 适配器模式:通过把一个类的接口变换成客户端所期待的另一种接口,通常解决不兼容问题。 具体的业务实现场景,小明用 fetch 封装了一个 http 的方法库: 1 export default class HttpUtils { 2 // get方法 3 static get(u 阅读全文
posted @ 2021-04-13 15:09 SaBoo 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 结构型:装饰器模式 装饰器模式,又称为装饰者模式。 定义:在不改变原对象的基础上,通过对其进行包装扩展,使原有对象可以满足用户更复杂的需求。 应用场景:需求 -- 业务中的按钮在点击之后都弹出 【请先登录】的弹框。 html<button id='open'>点击打开</button> <butto 阅读全文
posted @ 2021-04-13 11:19 SaBoo 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 创建型:原型模式 原型模式不仅是一种设计模式,还是一种编程规范,是js面向对象系统实现的根基。 在原型模式下,要创建一个对象时,会先找到一个对象作为原型,然后通过 克隆原型 的方式来创建一个与原型一样的对象。 JS中的类,本质上是 原型继承的语法糖。 ECMAScript 2015 中引入的 Jav 阅读全文
posted @ 2021-04-12 17:57 SaBoo 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 创建型:单例模式 保证一个类仅有一个实例,并提供一个访问它的全局访问点,这种模式叫做单例模式。 单例模式的实现思路: 1 // 首先先创建一个类,通过new关键字调用构造函数可以生成任意多得实例对象。 2 class Single { 3 show() { 4 console.log("我是一个单列 阅读全文
posted @ 2021-04-12 11:33 SaBoo 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 创建型: 工厂模式(简单工厂) 工厂模式: 就是将创建对象的过程单独封装。有构造函数的地方,就应该想到工厂模式。 优点: 创建一个对象只需要知道它得名称即可 扩展性高,新增一个产品只要扩展一个工厂类 屏蔽内部具体实现,只关心产品对应接口 缺点: 每增加一个产品,都要郑家一个具体得对象类工厂,系统类成 阅读全文
posted @ 2021-04-09 15:39 SaBoo 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 问题: 在左侧菜单栏折叠/展开的时候右侧设置flex:1;自适应布局的区域由于table表格宽度已经渲染,会出现横向滚动条不能自适应。 解决方案: // 最大容器.wrap { display: flex; flex: auto; }// 左侧 .wrap-left { flex: 0 0 400p 阅读全文
posted @ 2021-03-30 10:21 SaBoo 阅读(918) 评论(0) 推荐(0) 编辑
摘要: /** * 获取 url 里面的参数 * @param {string} url * @returns {Object} */ export function getQueryObject(url) { url = url == null ? window.location.href : url c 阅读全文
posted @ 2020-11-27 16:30 SaBoo 阅读(78) 评论(0) 推荐(0) 编辑