设计模式学习前言
设计模式是什么?这是学习设计模式开始的时候每个人脑海中的第一个问题。单单从名字上来看确实会让人觉得这是一门非常高大上的学问,但是实际上真的是这样吗?
答案当然是否定的,设计模式本身是一套”工具“。
在这里举一个例子,当大家写代码时一般都会有自己喜欢的编辑器,我们当然可以使用记事本来编辑,但是这样在编码的效率上和体验上都不能让人感到满意。
而设计模式也是这样的一类”工具“,它能帮助我们更好更快的实现一份”健壮“的代码,无论后面业务如何迭代,只要遵循着前人的设计模式及思想,我们的代码就能经得起变化的磨练。
最后需要说明的是,如果你阅读完某章节之后,发现有一种”只可意会不可言传“的感觉,脑子里明明对这部分内容有了一定的认识,却没办法表达出来。没有关系,不妨继续向下看,也许下次回头你再来看会有不一样的结果。
那么接下来,就让我们看看设计模式是如何大显身手的。
注:SOLID设计原则
“SOLID” 是由罗伯特·C·马丁在 21 世纪早期引入的记忆术首字母缩略字,指代了面向对象编程和面向对象设计的五个基本原则。
设计原则是设计模式的指导理论,它可以帮助我们规避不良的软件设计。SOLID 指代的五个基本原则分别是:
1、单一功能原则:一个类应该只有一个发生变化的原因。
2、开放封闭原则:一个软件实体,如类、模块和函数应该对扩展开放,对修改关闭。
3、里式替换原则
4、接口隔离原则
5、依赖反转原则
在 JavaScript 设计模式中,主要用到的设计模式基本都围绕“单一功能”和“开放封闭”这两个原则。
– 2022.02.23 更新
截至到目前为止,关于设计模式我一共出了八篇,共九种设计模式的介绍文章。
1、设计模式创建型之工厂模式
2、设计模式创建型之单例模式
3、设计模式创建型之原型模式
4、设计模式结构型之装饰器模式
5、设计模式结构型之适配器模式
6、设计模式结构型之代理模式
7、设计模式行为型之策略模式
8、设计模式行为型之观察者模式
设计模式当然不仅仅是这么多,这些仅仅是具有代表性的一部分。
单纯从设计模式来讲,它不属于哪一门语言,但是确又在不同的语言中体现不同。本系列就是从前端角度去理解设计模式。
例如第三节的原型模式,在 JS 这一门语言中,原型可谓是重中之重的部分,这时候你会发现学习原型模式就好像在学习 JS 中的原型。
又比如第二节的单例模式,在 Redux 和的 Vuex 中体现的淋漓尽致,其本身的设计原理就是这里的单例模式。
如果你细心观察,你会发现所谓的设计模式更像是一种成熟的编程思路,它是一种为了解决某种问题应运而生的一种方案。
因此,你完全可以放下心中的畏惧,大胆的站在前端的角度去理解和学习设计模式。
当然,到这里本系列并不是结束,后续空余时间我仍然会继续补充和完善,无论是对已有文章的修改,还是对新模式的介绍。希望志同道合的小伙伴能够提出宝贵的意见。
接下来的时间,主要会集中编写《从头再学 JavaScript 系列》,本系列适用于有一定基础的同学,对于基础知识不会有太多详细的介绍,而是专注于 JavaScript 的深入学习。如果有兴趣欢迎大家关注我。
同时欢迎大家关注我的微信公众号:火锅只爱鸳鸯锅 !