我们在开发中,遇到某些特定场景,在这里针对特定问题的简洁而优雅的解决方案就是设计模式,一个好的设计模式可以复用在这一类场景中,这些东西对我们前端开发尤为重要。
简单来说就是比如有一个弹窗,我们有好几次需要用到它,但是它里面所有内容是不变的。我们就没有必要让每次调用它的时候都创建实例。
我们可以在第一次用它的时候先缓存起来,第二次用的时候就不用重新创建了,直接用第一次调用的就可以。
单例模式 https://segmentfault.com/a/1190000012842251
使用场景:比如表单验证,我们需要很多判断,如果用if else来写的话会非常不易读,如果新增还能要动之前写的代码,术语就是高耦合,我们可以利用策略模式进行解耦,把输入的内容和需要的算法分隔,并且不去修改之前的代码。
策略模式 https://refactoringguru.cn/design-patterns/strategy
代理模式就是为一个对象提供一个代替品或者占位符,替身对象可以预先处理,等本体加载好之后再让本体渲染。
比如我们页面跳转时,可能渲染的比较慢,我们可以在渲染时用load加载来做占位,让用户不焦虑。等加载好了之后,load消失,页面显示。这里也要注意职责单一。