Need help with essential-js-design-patterns?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

4.1K Stars 701 Forks 537 Commits 33 Opened issues


Repo for my 'Learning JavaScript Design Patterns' book

Services available


Need anything else?

Contributors list

Built with Grunt Build Status

Learning JavaScript Design Patterns

This is the source code for Learning JavaScript Design Patterns. It is licensed under the Creative Commons Attribution-Non Commercial-Share Alike 3.0 license. I hope you enjoy it, I hope it helps you learn, and I hope you'll support O'Reilly and me by purchasing a print copy of the book at O'

Design patterns are reusable solutions to commonly occurring problems in software development and are a very useful tool to have at your disposal. You can read the latest version online for free at any time.

Why is this book needed?

I wanted to write this book as I felt that patterns were an area a lot of new and intermediate JavaScript developers may not have had a chance to explore just yet and I'm hopeful my book will encourage you to check them out as they can be quite powerful.

Contributing and Errata

I'm always welcome to feedback on how the book can be improved.

Pull requests

If you would like to help improve the project, please feel free to send over a pull request. Some useful notes:

  • All changes should be made against the master branch.
  • The source of the book is currently in
  • Atomic commits make it easier to review changes. If you can separate changes out in this form, it'll save us time when trying to land.
  • Please review the version of the book online before requesting a change. It is updated more frequently than the physical version of the book but we do bring changes back in every few months.

Building the project

Install dependencies :

npm install
Build the project:
grunt serve

Additional formats

The project is currently authored in HTML, however we do plan on introducing builds for other formats (PDF, ePub) shortly. In the mean time, official releases for other formats can be obtained via O'Reilly.


If you would like to get involved with translating this project to another language, please open up a new issue. O'Reilly have a process for handling translations to ensure that they go through the same review process that the English version goes through.

So far, we've successfully had the book translated to Japanese. You can find that version on the O'Reilly Japan site.


This book is released under a Creative Commons Attribution-Noncommercial- No Derivative Works 3.0 United States License.

What this means it that the project is free to read and use, but the license does not permit commercial use of the material (i.e you can freely print out the book for your own use, but you can't sell it). I'm trying to best to publish all of my books in a free + purchased (if you would like to support these projects) form so I would greatly appreciate it if you would respect these terms.

Copyright Addy Osmani, 2017.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.