每个WEB开发者都力求写出可维护、复用性和可读性高的JS代码。随着应用不断扩大,代码组织的合理性也越来越重要。WEB开发者在创建应用时,频繁地跟JS设计模式打交道(甚至在不知情的情况下)。尽管在很多环境中,有各种JS设计模式,WEB开发者还是倾向于使用一些习惯性的模式。下面就由陕西新榜样软件科技有限公司的WEB开发培训讲师来和和大家讨论一些常见的设计模式,展出优化代码库的方法,并深入解读JS的内部构件。
一、模块设计模式
JS模块化是WEB开发者常用的设计模式,通常用于保持特殊代码和其他组件相互独立。
对于熟悉面向对象的WEB开发者来说,模块就是JS的 “类”。封装是“类”的众多优点之一,可以确保它本身的状态和行为不被其它的类访问到。模块设计模式有公有和私有两种访问(除此之外,还有比较少为人知的保护、特权)。
二、揭示性模块模式
模块模式的另一种变体称为揭示性模块模式,它主要是为了在保持封装性的同时,揭示在对象字面量中返回的特定的变量和方法。
三、原型设计模式
WEB开发者要么把原型和原型继承相互混淆,要么在他们的代码里面直接使用原型。原型设计模式依赖于JS原型继承,原型模式主要用于为高性能环境创建对象。
被创建的对象是从传下来的原对象克隆(浅克隆)出来的。原型模式的一种使用场景,是执行一个扩展性的数据库操作来创建一个对象,把该对象用于应用的其他层面。如果其他流程需要用到这个对象,我们不需要大量地操作数据库,只要克隆一下之前创建的对象就可以了。
四、揭示性原型模式
类似于模块模式,原型模式也有一个揭示性模式。揭示性原型模式通过返回一个对象字面量,对公有和私有的成员进行封装。
设计模式经常用于比较大型的应用,想知道哪种模式更具优势,来实践吧。
在构建任何应用之前,都应该地考虑每个角色,以及它们之间存在的关系。在回顾模块模式之后,你应该能够区分它们,并且在实际WEB开发中使用它们了。