当前位置:首页 > 科技  > 软件

90%的人封装Storage时忽略了一个点!你们知道封装的意义是啥吗?

来源: 责编: 时间:2024-01-22 08:44:09 343观看
导读二次封装 Storage?关于 Storage 的封装问题,其实都是老生常谈了,很多人都会在项目中去二次封装 Storage,为了让开发者能更加方便地去使用 localStore、sessionStorage。就比如下方,应该是很多人封装的案例,就是封装简单的

二次封装 Storage?

关于 Storage 的封装问题,其实都是老生常谈了,很多人都会在项目中去二次封装 Storage,为了让开发者能更加方便地去使用 localStore、sessionStorage。就比如下方,应该是很多人封装的案例,就是封装简单的 读取、写入,或者有 删除、清空:BUf28资讯网——每日最新资讯28at.com

BUf28资讯网——每日最新资讯28at.com

我们为什么封装?

要不我们回过头来想一下,我们为什么要封装?其实封装无非就是为了两个目的:BUf28资讯网——每日最新资讯28at.com

  • 更好地统一维护
  • 使用者更方便、更无脑地使用

但是我觉得在一个大项目中以及紧急的开发进度中,使用者更方便、更无脑地使用才是封装的第一目的,所以想想刚刚的 LocalStorage 的封装,真的能让使用者更方便、更无脑地使用吗?BUf28资讯网——每日最新资讯28at.com

我就举个例子吧,我想存进去一个对象,我这么去存,可以吗?BUf28资讯网——每日最新资讯28at.com

BUf28资讯网——每日最新资讯28at.com

显然是不行的,存进去的对象会被转成字符串 [object Object]:BUf28资讯网——每日最新资讯28at.com

BUf28资讯网——每日最新资讯28at.com

所以我必须这么去存和取值,利用 JSON.parse、JSON.stringify 去转:BUf28资讯网——每日最新资讯28at.com

BUf28资讯网——每日最新资讯28at.com

只有这么去做才能达到我的目的:BUf28资讯网——每日最新资讯28at.com

BUf28资讯网——每日最新资讯28at.com

但是这样不觉得很麻烦吗?使用者更方便、更无脑地使用是封装的第一目的,显然这样只会让使用者徒增烦恼!!!BUf28资讯网——每日最新资讯28at.com

有的人就说了,可以把 JSON.parse、JSON.stringify 写在 useLocalStorage 中,但是这个方案只是针对 Object 而已,但是数据类型其实有多种:number、string、object、set、map、date 等等,你直接写在里面,不太合理,你得兼顾所有的数据类型才行!!BUf28资讯网——每日最新资讯28at.com

类型猜测逻辑

所以呢,你如果想要让使用者更方便、更无脑地使用,我们可以封装一套类型猜测逻辑。BUf28资讯网——每日最新资讯28at.com

首先我们必须准备一个函数,这个函数用来判断数据类型:BUf28资讯网——每日最新资讯28at.com

BUf28资讯网——每日最新资讯28at.com

但是光是判断出类型还不够啊,我们还必须给每一种类型,准备一套 读取、存入 的策略:BUf28资讯网——每日最新资讯28at.com

BUf28资讯网——每日最新资讯28at.com

最后只需要:BUf28资讯网——每日最新资讯28at.com

  • 判断类型
  • 获取类型对应的存取策略
  • 在存取的时候执行对应策略

BUf28资讯网——每日最新资讯28at.com

我们现在可以来试试能不能达到目的:BUf28资讯网——每日最新资讯28at.com

BUf28资讯网——每日最新资讯28at.com

显然已经达到我们想要的效果:BUf28资讯网——每日最新资讯28at.com

BUf28资讯网——每日最新资讯28at.com

小结

当然, Storage 的封装不仅仅是类型猜测这么一个功能点!而且其实封装还有很多兜底的情况我这里没写出来,本文就是想让大家知道,封装 Storage 的时候,类型猜测是一个最基本的功能,有这个功能,使用者更方便、更无脑地使用。BUf28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-65880-0.html90%的人封装Storage时忽略了一个点!你们知道封装的意义是啥吗?

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 解密五个强大的VS Code内置功能

下一篇: C++中产生死锁的原因深度解析

标签:
  • 热门焦点
  • 红魔电竞平板评测:大屏幕硬实力

    前言:三年的疫情因为要上网课的原因激活了平板市场,如今网课的时代已经过去,大家的生活都恢复到了正轨,这也就意味着,真正考验平板电脑生存的环境来了。也就是面对着这种残酷的
  • 一加首款折叠屏!一加Open渲染图出炉:罕见单手可握小尺寸

    8月5日消息,此前就有爆料称,一加首款折叠屏手机将会在第三季度上市,如今随着时间临近,新机的各种消息也开始浮出水面。据悉,这款新机将会被命名为“On
  • 十个简单但很有用的Python装饰器

    装饰器(Decorators)是Python中一种强大而灵活的功能,用于修改或增强函数或类的行为。装饰器本质上是一个函数,它接受另一个函数或类作为参数,并返回一个新的函数或类。它们通常用
  • 每天一道面试题-CPU伪共享

    前言:了不起:又到了每天一到面试题的时候了!学弟,最近学习的怎么样啊 了不起学弟:最近学习的还不错,每天都在学习,每天都在进步! 了不起:那你最近学习的什么呢? 了不起学弟:最近在学习C
  • 一条抖音4亿人围观 ! 这家MCN比无忧传媒还野

    作者:Hiu 来源:互联网品牌官01 擦边少女空降热搜,幕后推手曝光被网友誉为“纯欲天花板”的女网红井川里予,近期因为一组哥特风照片登上热搜,引发了一场互联网世界关于
  • ESG的面子与里子

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之三伏大幕拉起,各地高温预警不绝,但处于厄尔尼诺大“烤”之下的除了众生,还有各大企业发布的ESG报告。ESG是“环境保
  • 年轻人的“职场羞耻感”,无处不在

    作者:冯晓亭 陶 淘 李 欣 张 琳 马舒叶来源:燃次元“人在职场,应该选择什么样的着装?”近日,在网络上,一个与着装相关的帖子引发关注,在该帖子里,一位在高级写字楼亚洲金
  • iQOO 11S评测:行业唯一的200W标准版旗舰

    【Techweb评测】去年底,iQOO推出了“电竞旗舰”iQOO 11系列,作为一款性能强机,该机不仅全球首发2K 144Hz E6全感屏,搭载了第二代骁龙8平台及144Hz电竞
  • 滴滴违法违规被罚80.26亿 共存在16项违法事实

    滴滴违法违规被罚80.26亿 存在16项违法事实开始于2121年7月,历经一年时间,网络安全审查办公室对“滴滴出行”网络安全审查终于有了一个暂时的结束。据“网信
Top