Javascript 设计模式——1.6 JavaScript中的设计模式

来源:互联网 发布:mac如何卸载qq 编辑:程序博客网 时间:2024/06/11 00:11

1.6 JavaScript中的设计模式

1995年,GoF合作出版了一本名为《设计模式》的书。这本书整理记录了对象间相互作用的各种方式,并针对不同类型的对象创造了一套通用术语。用以创建这些不同类型的对象的套路被称为设计模式(designpattern)。出于通用性的考虑,书中使用了一种在一定程度上独立于语言的方式来描述这些模式。本书就是专门讨论这些模式在JavaScript中的应用的。

JavaScript强大的表现力赋予了程序员在运用设计模式编写代码时极大的创造性。在JavaScript中使用设计模式主要有如下3原因。

(1) 可维护性。设计模式有助于降低模块间的耦合程度。这使对代码进行重构和换用不同的模块变得更容易,也使程序员在大型团队中的工作以及与其他程序员的合作变得更容易。

(2)沟通。设计模式为处理不同类型的对象提供了一套通用的术语。程序员因此可以更简明地描述自己的系统的工作方式。你不用进行冗长的说明,往往这样一句话就足够了:"它使用了工厂模式"。每个模式都有自已的名称,这意味着你可以在较高层面上对其进行讨论,而不必涉足过多的细节。

(3) 性能。本书讲述的某些模式是起优化作用的模式。它们可以大幅提高程序的运行速度,并减少需要传送到客户端的代码量。这方面最重要的例子是享元模式(第13章)和代理模式(第14章)。

你也可能出于如下两个理由而不使用设计模式。

(1) 复杂性。获得可维护性往往要付出代价,那就是代码可能会变得更加复杂、更难被程序设计新手理解。

(2) 性能。尽管某些模式能提升性能,但多数模式对代码的性能都有所拖累。这种拖累可能微不足道,也可能完全不能接受,这取决于项目的具体需求。

实现设计模式比较容易,而懂得应该在什么时候使用什么模式则较为困难。未搞懂设计模式的用途就盲目套用,是一种不安全的做法。你应该尽量保证所选用的模式就是最恰当的那种,并且不要过度牺牲性能。

原创粉丝点击