设计模式-前言
几乎每一门语言都会使用一定的设计模式来编写代码,JavaScript
也不例外。一些刚入门的开发者在面对庞大的前端知识体系时,看到大家都在说设计模式也非常重要,也跟着学,然而看完了还是很模糊设计模式存在的意义和及其使用场景。本系列文章会尽可能把设计模式存在的意义说的通俗易懂。
什么是设计模式
在代码世界里,代码长时间堆积就像长时间不收拾的房间,久而久之房间就会变得杂乱无章,寻找或者是摆放新的物件都非常的费脑筋。
此时收拾房间就变得非常有必要,比如购置收纳盒,衣柜,桌子用于摆放原来无处可放的物件。柜子等工具就是代码里面的设计模式,是多年来大家实践得来的经验,可以使得我们的代码看起来井然有序。
JavaScript 需要单独拿出来说设计模式是因为其有许多特性,例如使用原型链委托来实现类的继承
,这一点就和传统的面对对象编程的语言就有不同,我们可以把原型链和设计模式结合,探究JavaScript里面的设计模式如何编写;又如其强大的函数功能,实现 AOP
(面向切面编程,实则是把一个函数动态织入到另外一个函数;把函数当作参数,执行时机由其所在的函数决定) 是非常简单的事情。
为什么需要设计模式
在开始设计模式之前,你可能需要储备一些知识,如函数 开放封闭原则
,单一职责原则
等等,这些知识会让你更好的理解未来的例子为什么需要这么写。假设一个函数已经有很多分支条件,未来如果有更多的分支,我们需要扩展这个函数,修改里面的代码,这违反了函数开放封闭原则(对扩展开放,对修改封闭),因此需要使用一些前人总结出来的经验来编写代码使得代码更加易于维护和健壮。 在你使用一段设计模式的代码时,你必须确认这样不会大大增加程序的复杂程度,如果为了设计模式而使用设计模式,是非常不正确的决定。我们应该在正确的场景使用设计模式,而不是滥用设计模式使得程序变成一个负担。 下一篇文章,我们将会学习第一个设计模式:单例模式。