Preface; Target Audience; Credits; Reading; Conventions Used in This Book; Using Code Examples; SafariĀ® Books Online; How to Contact Us; Acknowledgments;Chapter 1: Introduction;Chapter 2: What Is a Pattern?; 2.1 We Already Use Patterns Every Day;Chapter 3: "Pattern"-ity Testing, Proto-Patterns, and the Rule of Three;Chapter 4: The Structure of a Design Pattern;Chapter 5: Writing Design Patterns;Chapter 6: Anti-Patterns;Chapter 7: Categories of Design Patterns; 7.1 Creational Design Patterns; 7.2 Structural Design Patterns; 7.3 Behavioral Design Patterns;Chapter 8: Design Pattern Categorization; 8.1 A Brief Note on Classes;Chapter 9: JavaScript Design Patterns; 9.1 The Constructor Pattern; 9.2 The Module Pattern; 9.
3 The Revealing Module Pattern; 9.4 The Singleton Pattern; 9.5 The Observer Pattern; 9.6 The Mediator Pattern; 9.7 The Prototype Pattern; 9.8 The Command Pattern; 9.9 The Facade Pattern; 9.10 The Factory Pattern; 9.
11 The Mixin Pattern; 9.12 Subclassing; 9.13 Mixins; 9.14 The Decorator Pattern; 9.15 Pseudoclassical Decorators; 9.16 Decorators with jQuery; 9.17 Advantages and Disadvantages; 9.18 Flyweight;Chapter 10: JavaScript MV* Patterns; 10.
1 MVC; 10.2 MVC for JavaScript Developers; 10.3 What Does MVC Give Us?; 10.4 Smalltalk-80 MVC in JavaScript; 10.5 MVP; 10.6 MVVM; 10.7 Pros and Cons; 10.8 MVVM with Looser Data Bindings; 10.
9 MVC Versus MVP Versus MVVM; 10.10 Backbone.js Versus KnockoutJS;Chapter 11: Modern Modular JavaScript Design Patterns; 11.1 A Note on Script Loaders; 11.2 AMD; 11.3 CommonJS; 11.4 AMD and CommonJS: Competing, but Equally Valid Standards; 11.5 ES Harmony; 11.
6 Conclusions;Chapter 12: Design Patterns in jQuery; 12.1 The Composite Pattern; 12.2 The Adapter Pattern; 12.3 The Facade Pattern; 12.4 The Observer Pattern; 12.5 The Iterator Pattern; 12.6 Lazy Initialization; 12.7 The Proxy Pattern; 12.
8 The Builder Pattern;Chapter 13: jQuery Plug-in Design Patterns; 13.1 Patterns; 13.2 A Lightweight Start Pattern; 13.3 Complete Widget Factory Pattern; 13.4 Nested Namespacing Plug-in Pattern; 13.5 Custom Events Plug-in Pattern (with the Widget Factory); 13.6 Prototypal Inheritance with the DOM-to-Object Bridge Pattern; 13.7 jQuery UI Widget Factory Bridge Pattern; 13.
8 jQuery Mobile Widgets with the Widget Factory; 13.9 RequireJS and the jQuery UI Widget Factory; 13.10 Globally and Per-Call Overridable Options (Best Options Pattern); 13.11 A Highly Configurable and Mutable Plug-in Pattern; 13.12 What Makes a Good Plug-in Beyond Patterns?; 13.13 Conclusions; 13.14 Namespacing Patterns; 13.15 Namespacing Fundamentals; 13.
16 Advanced Namespacing Patterns;Chapter 14: Conclusions;References;Colophon;.