JavaScript应用设计模式

我们正在编写越来越大、越来越复杂的JavaScript应用,在其中用上了最新的框架和类库,但我们往往忽视了创造这些类库时涉及到的核心原则。Carl Danley是一位资深Web工程师,并编写了一系列有关JavaScript设计模式的博客文章。模式提供了编写结构化、可扩展和可维护代码的清晰的方法,以及在开发大型JavaScript应用时极其重要的理念。

Carl感到使用模式如此重要的一部分原因是:

  • 模式是一种指代某个非常具体的代码实现的便捷方法。如果没有用于模式的词汇表,那么大家为了达成一致将需要额外的讨论,而模式则能够避免这一问题。
  • 模式有助于在早期阶段克服枝节问题,从而避免它们拖到后期变成主要问题。
  • 模式体现了一定程度的复杂性——能够同时提升性能并减少内存使用。
  • 模式的建立经过严格的测试,而且在大多数情况下,能够解决特定类型的问题。

Carl引用了《学习JavaScript设计模式》的作者Addy Osmani的一段话:

对编写可维护代码来说,最重要的因素之一,是能够注意到代码中重复出现的主题,并对其进行优化。这个领域正是关于设计模式的知识的价值所在。

迄今为止,Carl已经在博客文章中讨论了以下模式:

  • 模块模式
  • 揭示模块模式
  • 单例模式
  • 观察者模式
  • 中介模式
  • 原型模式
  • 外观模式

Carl描述了每个模式的用途、主要的用例以及其优缺点,并为每个模式都编写了一个小型例程。他还打算在近期增加工厂模式、Mixin模式和装饰模式。

Carl已经贡献了许多开源框架和类库,例如jQueryWordPressBackboneAngular.js

查看英文原文:Design Patterns for JavaScript Applications

你可能感兴趣的:(JavaScript应用设计模式)