设计模式总结分享-一个引子

写在最前面

前端作为最初的切图仔(手动狗头),到现在面对越来越复杂的业务项目,处理越来越复杂的工程项目,对前端程序员的要求也越来越高。特别是,当有幸参加完阿里前端练习生计划后,才知道,前端的东西真的太多了,从工程基建代码监控到 webGL,再到人工智能,真是哪里都有前端的大展拳脚的舞台。当然,在这个趋势下,对前端的要求也是水涨船高,看到很多大厂的 JD 都有提及到设计模式这一点。那设计模式又是啥,为什么要学习设计模式。相比一个一个设计模式学习过去,我想还是需要先充分认识到设计模式的重要性以及为什么要学习设计模式。无论设计模式的种类再多,名字再酷炫,设计模式的发展也一定是从一个或几个核心的编码思想发展而来的。

设计模式是什么

在看了一些书籍和博客后,我想设计模式就是:设计模式就是面对某类问题,对代码的总结,是解决问题的引子。还记得高中作文,当面对不同的题材,我们就会用不同的手段,比如说面对议论文就是用总分总,亦或分总的结构。设计模式的作用就类似于此,当我们面对 A 类问题就需要考虑 X 设计模式,当我们面对 B 类问题就需要考虑 Y 设计模式。
虽然设计模式不能直接帮我们解决问题,但可以给我们一个思路,当面对这个普适问题的时候,该以如何思路去解决。

为什么要学习设计模式

还是一句话打头,设计模式让我们站在巨人的肩膀上思考。也许我们面对 XXX 问题,想了很久,OK,找出了一种方法可以解决这个问题。but,问题来了,很可能某种边界条件没有考虑到亦或者考虑的这个方法在将来需要做代码修改的时候会带来大的变动,又有新的 bug,还得花颇多时间去调试。而设计模式作为前人经验的总结,这些问题都会考虑到,我们只需按照设计模式的理念和指导,1,2,3…,做下去就好。因此,学习设计模式,就是让我们在前人经验上快速定位问题,按部就班解决那些普适问题。

接下来博客会继续总结分享几个最经典的设计模式,包括鸭子类型(使用 ts),单例模式,观察者模式,订阅模式等。

你可能感兴趣的:(设计模式,javascript,typescript)