21 | 创建型:为什么说Redux可以替代单例状态管理
石川
你好,我是石川。
时间过得真快,今天要开始专栏的第三个模块“JavaScript 之术”了,前面我们已经了解了函数式和面向对象的编程模式、JavaScript 的数据结构与算法,从这节课开始,我们会展开讲解 JavaScript 用到的设计模式,结合一些三方的库,来帮助你理解和掌握如何通过设计模式进一步提高“生产力”,优化“生产关系”。
一般在介绍设计模式的时候,都会先说到创建型模式。创建型模式里又包含几种设计模式,最为大家熟知的,可能要数单例模式了,在很多语言中它经常被用来做状态管理。这节课,我们就来看看这种模式的优劣势,以及 Javascript 的 Redux 是怎么解决单例在状态管理中所面临的一些问题的。除了单例模式,我也会延伸讲解几个其他的创建型模式。下面我们还是先从单例模式本身说起吧。
单例模式
在 ES6 之前,单例模式在 JavaScript 中除了状态管理,其实更经常被用来做封装和命令空间。而在 ES6 以后,JS 中已经加入了很多防止全局污染的手段。比如通过新增加的 let 和 const 两个关键字,将使用这两个关键字声明的变量保持在块范围内,创建全局变量已经很少见了。同时,JavaScript 中的新加入的模块系统(modular system)使创建全局可访问的值更容易,而不会污染全局范围,这是因为它是从模块中导出值,并将这些值再导入其他文件中的。所以对于开发者来说,单例剩下的一个场景,就是状态管理了。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文介绍了JavaScript中的状态管理模式以及创建型模式中的工厂模式和原型模式。文章指出了单例模式在面对副作用时存在的问题,并介绍了Redux和React Context等状态管理工具在React中的应用。工厂模式通过工厂函数创建对象,提供了灵活性和控制权,适用于创建相对复杂和可配置的对象。原型模式在JavaScript中实现继承更简单,并且可以提高性能。总结指出,JavaScript对状态管理并不仅限于传统的单例模式,而是通过函数式编程的思想和创建型模式的灵活结合,巧妙地解决了相关问题。文章最后留下思考题,鼓励读者分享在Node等后端应用中使用创建型模式的应用场景、遇到的问题和解决方案。整体而言,本文深入浅出地介绍了JavaScript中的状态管理和创建型模式,为读者提供了全面的技术视角和思考空间。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《JavaScript 进阶实战课》,新⼈⾸单¥59
《JavaScript 进阶实战课》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(1)
- 最新
- 精选
- 度衡之前还总感觉, redux非要走一套流程好麻烦,原来是为了减少副作用,稍微领会了这样做的意义2023-01-03归属地:北京2
收起评论