粗学前端设计模式心得

93 阅读4分钟

前言

最近我们公司采取周期性开发模式,每两周开发一个新的功能,在这个周期中,我们有需求理解,代码设计,逻辑确认,视觉评审和设计,代码实现以及交叉测试。我们前端小组有3个人,我通常是那个理解需求,然后分配任务的那个人,所以我需要做代码实现之前所有的事情,做好了,我跟我的小伙伴们才能分工明确,愉快地开发。

然而做这些,并没那么容易。拿到一个新的需求,如何做到3人合理分工?这些功能中哪些是中心函数可以捡练出来,进行单元测试?这些都是我前期需要考虑到的问题。

代码写了这么多年,女生的第六感总能粗略的进行判断和分工,但是在后期的开发和迭代上也遇到了大大小小的一些问题。如果有大神的肩膀可以踩,我应该可以更加科学合理地运用第六感了。

最近,我发现JS就有20多种设计模式,这些设计模式都是前辈们针对他们开发中遇到的问题,提出的大家公认且有效的解决方案,在日常开发中是可以套用的。

设计模式

设计模式的定义:在面向对象软件设计过程中针对特定问题的简洁而优雅的解决方案

什么是设计模式?

通俗的来说,设计模式是在某个特定场景下对某种问题的一种解决方案。如果我们能熟练地掌握这些设计模式,那么,当我们在遇到合适的场景时,我们可能会条件反射一样自然而然地想到符合这种场景的设计模式。

前端常用的8个模式有:

  1. 策略模式
  2. 发布-订阅模式
  3. 工厂模式
  4. 装饰器模式
  5. 适配器模式
  6. 代理模式
  7. 责任链模式
  8. 单例模式

需要详细了解地,可以查阅相关文档

这篇文章写的蛮有意思的,可以看看,通俗易懂

为什么有设计模式?

我猜前辈们也遇到了跟我一样的工作经历或者其他的问题,他们不断地凝练和总结,才提出大家公认且有效的解决方案,最终形成了固有地模式,供我们参考。前人栽树,后人乘凉,感谢他们。

为什么要用设计模式?

其实我发现,我在写代码的时候,某些思想跟某些设计模式有相似之处,看完这些设计模式的详细解释和范例之后,发现如果套用这种模式,可以让我的代码更加严谨和完备。所以,运用设计模式,可以在我们遇到相似的问题、场景时,快速找到更优的方式解决。

总结

看完好几篇设计模式的相关文章,发现设计模式说到底,其实就是一种代码思想。从业以来,写了很多的功能代码,也封装过一些可复用的组件供同组的小伙伴使用,回过去看这些代码,发现存在一些问题,比如:复用性不是很高,后期维护、开发迭代起来不是很顺利,但是如果我早些了解这些设计模式,并且掌握的情况下,在拿到一个功能,会首先理出一个清晰的设计策略,然后再驱动代码开发,代码实现起来也会更加的清晰。

话虽如此,在实际开发中要运用这些设计模式,对我来说还是很困难的。比如:刚刚看完别人的技术分享后,当时觉得很懂很有道理,往往拿到一个新的需求的时候,还是不能首先想到设计模式这一块,也不会正确套用。

所以今后,我要多多地主动去学习这些常用的设计模式,在实际拿到一个需求的时候,尝试着用正确的设计模式去设计和套用,想清楚之后再进行代码开发,逐渐形成一种肌肉记忆。相信长此以往,我的代码水平会逐步提高的。