Addy Osmani is a Developer Programs Engineer at Google, working on tools for improving how developers create applications. He's also a member of the jQuery team where he assists with documentation and our learning site project. Some of his other OS work has included contributions to Modernizr and other similar projects. Personal projects include TodoMVC, which helps developers compare JavaScript MVC frameworks and jQuery UI Bootstrap. He also wrote 'Developing Backbone.js Applications' and 'Learning JavaScript Design Patterns' and occasionally tech review books like 'JavaScript Web Applications'. His personal blog is addyosmani.com/blog/.
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;
Show more
Addy Osmani is a Developer Programs Engineer at Google, working on tools for improving how developers create applications. He's also a member of the jQuery team where he assists with documentation and our learning site project. Some of his other OS work has included contributions to Modernizr and other similar projects. Personal projects include TodoMVC, which helps developers compare JavaScript MVC frameworks and jQuery UI Bootstrap. He also wrote 'Developing Backbone.js Applications' and 'Learning JavaScript Design Patterns' and occasionally tech review books like 'JavaScript Web Applications'. His personal blog is addyosmani.com/blog/.
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;
Show moreAddy Osmani is a writer, speaker, and a JavaScript developer. He is a member of the jQuery core [Bug Triage/Docs/Learning] teams where helps with bugs, documentation, and developer evangelism. When not working at AOL his personal OS projects include jQuery UI Bootstrap and TodoMVC, which help developers compare JavaScript MVC frameworks. Addy is the author of the popular ebook, Essential JavaScript Design Patterns. His personal blog is http://addyosmani.com/blog/
![]() |
Ask a Question About this Product More... |
![]() |