Skip to content
UdemyJavaScriptPaid courseIntermediate levelCertificate

Design Patterns in JavaScript (Udemy.com)

Discover the modern implementation of design patterns in JavaScript

Created by: Dmitri Nesteruk

Last updated August 2021

icon
What you will learn

  • Recognize and apply design patterns
  • Refactor existing designs to use design patterns
  • Reason about applicability and usability of design patterns

How it compares

Against the other 239 rated Udemy courses in JavaScript on CourseDuck:

  • Rating4.5 out of 5higher than 53% of them
  • Reviews2,356#54 of 240 by number of reviews
  • Length10.1 hourslonger than 71% of them
  • Last updatedAugust 2021earlier than 62% of them

icon
Course Description

Course Overview

This course provides a comprehensive overview of Design Patterns in JavaScript from a practical perspective. This course in particular covers patterns with the use of:

  • The latest versions of the JavaScript programming language

  • Use of modern programming libraries and frameworks

  • Use of modern developer tools such as JetBrains WebStorm

  • Discussions of pattern variations and alternative approaches

This course provides an overview of all the Gang of Four (GoF) design patterns as outlined in their seminal book, together with modern-day variations, adjustments, discussions of intrinsic use of patterns in the language.

What are Design Patterns?

Design Patterns are reusable solutions to common programming problems. They were popularized with the 1994 book Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, John Vlissides, Ralph Johnson and Richard Helm (who are commonly known as a Gang of Four, hence the GoF acronym).

The original book GoF book used C++ and Smalltalk for its examples, but, since then, design patterns have been adapted to every programming language imaginable: C#, Java, Swift, Python and now — JavaScript!

The appeal of design patterns is immortal: we see them in libraries, some of them are intrinsic in programming languages, and you probably use them on a daily basis even if you don't realize they are there.

What Patterns Does This Course Cover?

This course covers all the GoF design patterns. In fact, here's the full list of what is covered:

  • SOLID Design Principles: Single Responsibility Principle, Open-Closed Principle, Liskov Substitution Principle, Interface Segregation Principle and Dependency Inversion Principle

  • Creational Design Patterns: Builder, Factories (Factory Method and Abstract Factory), Prototype and Singleton

  • Structrural Design Patterns: Adapter, Bridge, Composite, Decorator, Façade, Flyweight and Proxy

  • Behavioral Design Patterns: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method and Visitor

Who Is the Course For?

This course is for JavaScript developers who want to see not just textbook examples of design patterns, but also the different variations and tricks that can be applied to implement design patterns in a modern way. For example, the use of Symbol.iterator allows objects (including iterator objects) to be iterable and lets scalar objects masquerade as if they were collections.

Presentation Style

This course is presented as a (very large) series of live demonstrations being done in JetBrains WebStorm and presented using the Kinetica rendering engine. Kinetica removes the visual clutter of the IDE, making you focus on code, which is rendered perfectly, whether you are watching the course on a big screen or a mobile phone. 

Most demos are single-file, so you can download the file attached to the lesson and run it in WebStorm, Atom or another IDE of your choice (or just run them from the command-line).

This course does not use UML class diagrams; all of demos are done via live coding.

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Dmitri Nesteruk

Dmitri is a quant, developer, book author and course author. His interests lie in software development and integration practices in the areas of computation, quantitative finance and algorithmic trading. His technological interests include C# and C++ programming as well high-performance computing using technologies such as CUDA and FPGAs. He has been a C# MVP since 2009. 

icon
More courses by Dmitri Nesteruk

$124.99

$13.99

$14.99

$14.99

$11.99

$14.99

icon
More JavaScript courses

Free

Free

Free

$24.99

Free

$79.99

icon
Reviews

4.5

2,356 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Christianto Liu on 8/25/2024

Excellent overview of all the commonly-used design patterns. Dmitri is a captivating instructor and explained the design patterns adapted specifically for JavaScript, which allowed me to understand how this would work vs. other languages such as C#. The exercises are the right lengths and helped to strengthen my understanding of the concepts. One minor suggestion is strengthening the Jasmine tests. Sometimes I would provide a wrong solution and the tests would still pass. It wasn't obvious until I read the solutions.

By László Bauer on 4/8/2024

Overall a good course, I feel I got a decent overall knowledge about design patterns, most of them I already worked with but wasn't aware of the patterns. I think the coding exercises could be improved, they are often too focused on an low-level implementation of something instead of applying an actual design pattern, sometimes the pattern itself is pre-written, I just have to fill in the algorithm for something. The examples presented in could be a bit closer to real life examples, it felt a bit too "University style" instead of a real business project. To sum up, while certain areas could use an improvement which would make this course more engaging and interesting, in the end I got the information and knowledge I came for.

By Alexander Trutanov on 2/25/2024

Some examples were great, some were outdated If you like learning day by day, one lesson after another - you should definitely take this course What can be improved: - The blood comes from my eyes because of brackets and ignoring JS code style agreement - Use Typescript instead of JS - Remove outdated patterns like Interpeter, make room for more examples

By Jofre Manchola on 12/14/2022

I was bored at the beginning because the main idea was "javascript don't have neither interfaces or static clases so we can bend the things and try to simulate the pattern.". But I really enjoyed the explanation of Structural and Behavioral patterns.

By Pablo Ezequiel Leone Signetti on 11/22/2022

I don't give full 5 stars because I think the coding tests could be improved, having some more to train ourselves would be amazing and some are too simple while the lesson is much more complex. I know this isn't an interview training, however, to solidify the concepts in our heads, exercises might be the best way.

By Patryk Nowak on 11/4/2021

Great course! I am working as a developer and have like 4 months of professional experience with, a more than 1 year of self studies, and I can tell to all You that it was something what I was missing. This course made clear for me how some staff in react, node, dom etc work. Great Course! If Your main language is not JavaScript just go for different course of this author! I am sure all of them are perfect!

By Paul T. Clay on 5/18/2021

This is a great course to briefly look at all of the major design patterns. I have seen first hand what shenanigans a development team can get into without strong understanding of design. Anyone looking for a overview and basic implementation for design patterns should take this course.

By Anton Kolomiiets on 11/14/2020

The author doesn't have time to check the Question.

By Jaime Suncin on 11/7/2020

Is a deep dive into design patterns with Javascript, although is very easy to follow

By Vu Minh Tu on 9/8/2020

Good practice for Javascript developer

By Rohit Rane on 8/18/2020

Kudos! The Tutor has great language agnostic knowledge of Design Patterns but a few of challenges I am facing in learning here are :
1. Visual learning could have been made better with Diagrams instead of diving directly into code.
2. The Tutor seems to be from non Javascript Background. So the examples are esoteric and not associable for everyday React Developer or Angular developer. They look like Python Example painfully transposed to Javascript world.
3. Particularly when it came to Prototype Design Pattern, the example & Syntax was painful to bear. Could have instead been implemented using :
https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Object_prototypes
https://scotch.io/tutorials/demystifying-es6-classes-and-prototypal-inheritance

By Ivan Grimes on 7/22/2020

This course definitely should use Typescript.

Showing 12 of 50 reviews

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 90 / 100