Mastering JavaScript Design Patterns

More Information
  • Organize your code with classes and modules
  • Explore the original Gang of Four patterns and learn how to apply them to JavaScript
  • Decrease the degree of coupling in applications and increase code reuse through creational patterns
  • Rethink your coding through the use of functional patterns
  • Master advanced JavaScript patterns such as dependency injection and live postprocessing
  • Improve the testability of your code with mock objects, mocking frameworks, and monkey patching
  • Discover the patterns that are the basis of modern JavaScript libraries such as Knockout.js, Angular.js, and Backbone.js

Applying design patterns to JavaScript code creates more reliable and maintainable code. In this book, you will explore different design patterns and learn where and how to implement them with the help of detailed examples.

In the first part of the book, we start off with an introduction to design patterns, and then move on to creating classical structures that are used to organize code. Next, we look at the creational, structural, and behavioral patterns. The second part of the book dives into patterns used for functional programming, model view patterns, patterns to build web applications, and messaging patterns. A number of very interesting advanced JavaScript patterns such as dependency injection and live postprocessing are also covered.

By the end of this book, you will learn to identify places where a pattern would improve code readability and maintainability.

  • Learn how to use tried and true software design methodologies to enhance your Javascript code
  • Discover robust JavaScript implementations of classic as well as advanced design patterns
  • Packed with easy-to-follow examples that can be used to create reusable code and extensible designs
Page Count 290
Course Length 8 hours 42 minutes
ISBN 9781783987986
Date Of Publication 21 Nov 2014


Simon Timms

Simon Timms is a developer who works in the oil and gas industry in Calgary, Alberta. He has a BSc in Computing Science from the University of Alberta and a Masters from Athabasca University. He is interested in distributed systems, visualization, and the acquisition of ice-cream. This is his first book, but he blogs frequently on diverse topics such as code contracts and cloud computing at He is involved in the local .NET and JavaScript community, and speaks frequently at conferences. Contacted by Shweta Pant on 28-8-2017 for the third edition of Mastering JavaScript Design Patterns book