Hey guys. Today I'm happy to announce the release of an update to my free book 'Essential JavaScript Design Patterns'. This revised edition comes with several re-writes to the original release and also includes introductions to extra patterns not initially covered. In addition, some patterns have had expanded examples added, making this a better overall introduction for those wishing to learn more about design patterns in JavaScript.

Update: Version 1.5.x of the book and above are available in either online form to read for free or via O'Reilly if you'd like to pick up physical or eBook formats of the book. The latter is a lot more visually pleasing than the PDF/eBooks I used to generate and I hope this combination of free or purchase options satisfies most readers needs. The below version (1.1) should be considered old and I would strongly recommend looking at the newer version. There have been a lot of large rewrites, corrections and new sections added.

You can download my book and learning resources right away or read online if you'd prefer.

Thanks To The Community

Before I take you through the changes in this edition, I would like to thank the community for their interest in the book. Version 1.0 was downloaded over 260,000 times, far exceeding my expectations on the developers interested in further education on design patterns.

If you tweeted or 'like'd the book last time, I appreciate you helping to spread it.

What's Been Updated?

In the first edition of my book, I aimed at finishing all of the writing on it in a relatively short period of time, meaning that there were some rather silly mistakes we didn't catch in our reviews. I also wasn't able to balance the amount of material covering general design pattern education vs, the amount of time spent discussing implementations in JavaScript, which I've tried to improve on in this edition. There should now be equal amounts of both (as requested by readers).

The changelog for this edition is as follows:

Grammar and semantic changes across the initial sections on design pattern theory corrected

Re-writes of the pattern explanations for many of the patterns in the JavaScript section

New pattern additions to the JavaScript section including Observer (Pub/Sub) and Command as well as one new addition to the jQuery section

Code fixes for examples with minor changes required

Patterns mentioned in 1.1 include:

Creational Pattern

Constructor Pattern

Singleton Pattern

Module Pattern

Revealing Module Pattern

Observer Pattern

Prototype Pattern

Command Pattern

DRY Pattern

Facade Pattern

Factory Pattern

Mixin Pattern

Decorator Pattern

ePub/Mobile Editions

With the first edition of the book, a large number of community members requested formats such as PDF and ePub become available. Rather than using a one-click/automated process to achieve this, I prefer to manually reformat the pages for each format as this results in a better quality experience for you. Although these formats will not be initially available, I'll be updating this post with links as soon as they are.

Why A Free Book?

There's some really fantastic literature available out there on design patterns in JavaScript (Stoyan Stefanov's excellent 'JavaScript patterns' book comes to mind) but a lot of the JS-centric material requires purchased literature.

These books are definitely worth buying, but I personally feel that until a developer is interested enough in learning about patterns to make the leap to invest in these, the majority of material they have accessible online doesn't focus enough on how to apply design patterns to JavaScript or jQuery. That's where having a free book of this nature comes in useful.

Contributors

I was the primary author of this book but I would like to thank JavaScript and design pattern enthusiast Alex Sexton for technically reviewing the content and ensuring that it was accurate. Alex also provides some insightful feedback on the book's content that helped improve it. I would also like to extend my thanks to Rebecca Murphey as her open-source book 'jQuery Fundamentals' served as the inspiration for me aiming to create a piece of useful free content that goes beyond the depth a standard article would. This book also couldn't have been completed without the writers who published the original pieces on patterns that helped teach me about them. I've hopefully referenced all of you, but if not feel free to get in touch and I'll put that right straight away. Last but not least, I'd like to thank the community for their feedback and change requests which helped improve the book from version 1.0.

What Does The Book Pack Contain?

The downloadable version of the book pack contains:

My 'Essential JavaScript Patterns' Book (Version 1.1)

Printable Design Pattern sheets (courtesy Jason MacDonald)

Design Pattern Reference Cards (courtesy of DZone)





That's it!. Thanks for checking out this post. If you found my book helpful and would like to share it with your friends or colleagues, please feel free to click the retweet button below. Together we can help spread more awareness of design patterns in the JavaScript and jQuery communities.



Update: If you would like to contribute or post an issue regarding the book, you can now find EJDS on GitHub here.