Skip to content
UdemyC++Paid courseIntermediate levelCertificate

Design Patterns in Modern C++ (Udemy.com)

Discover the modern implementation of design patterns with С++

Created by: Dmitri Nesteruk

Last updated December 2020

Our take

Based on the ratings of 7,647 students, a sample of their written reviews and the syllabus, as the course stood in December 2020. No course pays to be reviewed.

This is a live-coding walk through the Gang of Four patterns, plus the SOLID principles, in modern C++. Dmitri Nesteruk works in JetBrains CLion, and the syllabus shows 129 lectures across 25 sections, about 12.5 hours in total. Each pattern gets its own short section, with 21 quizzes and 21 coding exercises along the way. It is rated Intermediate, and the requirements are honest about that: good C++, awareness of C++11 to 17 features, and a working grip on OOP.

Most of the 7,647 ratings are positive, with 3,930 five-star and 2,744 four-star. Reviewers praise the concise code examples and the exercises at the end of each section. Complaints cluster around speed and missing diagrams. Several say the instructor talks fast, which is hard for non-native English speakers, and others miss UML diagrams that would tie each pattern together. One reviewer found some examples needlessly complex, such as explaining iterators with a recursive binary tree. Another says source files don't always match the videos, and a junior developer found Q&A replies slow.

The last update was December 2020, so the tooling and C++ standards it leans on are about six years old. The course has 48,387 students and the ratings lean heavily toward four and five stars. If you are comfortable with C++ and happy to pause and replay, it is a solid pick. If you need diagrams or a gentle pace, look elsewhere.

Best forC++ developers with solid basics who want every GoF pattern shown as live code in CLion, not slides.
Skip it ifYou want UML diagrams, a slow pace, or an intro to C++ itself. Non-native English speakers often struggle with the speed.

Pros

  • Covers every GoF pattern plus SOLID, each in its own short section
  • Concise live-coded examples that reviewers find easy to follow
  • 21 quizzes and 21 coding exercises to practice after each section
  • Shows C++ features beyond the patterns, like reflection-style tricks

Cons

  • Instructor speaks quickly, and non-native English speakers struggle
  • No UML diagrams or written summaries to connect the patterns
  • Last updated December 2020, and Q&A replies are reported as slow
I wouldn't call this a beginner course, but really suits someone who has some working knowledge of c++. Overall it was put together really well.
Devarakonda Mohit Varsha, a student

Intermediate: the listing asks for solid C++, OOP and C++11 to 17 features, and one reviewer adds that Boost is used heavily.

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
  • Learn how to use different aspects of Modern C++

Course content

25 sections · 129 lectures · 12 hours of video 21 quizzes, 21 coding exercises

  1. 1Introduction 1 free preview1 lecture · 6 min
  2. 2SOLID Design Principles 1 free preview7 lectures · 52 min
  3. 3Builder8 lectures · 1 quiz · 49 min
  4. 4Factories8 lectures · 1 quiz · 37 min
  5. 5Prototype6 lectures · 1 quiz · 33 min
  6. 6Singleton8 lectures · 1 quiz · 40 min
  7. 7Adapter4 lectures · 1 quiz · 20 min
  8. 8Bridge 1 free preview5 lectures · 1 quiz · 27 min
  9. 9Composite5 lectures · 1 quiz · 33 min
  10. 10Decorator 1 free preview5 lectures · 1 quiz · 36 min

Who it is for

The instructor says it suits

  • Beginner and experienced C++ software developers
  • Developers interested in implementations of design patterns
  • Computer scientists

What you need before you start

  • Good understanding of C++
  • Awareness of features of Modern C++ (11/14/17/...)
  • Understanding of OOP (encapsulation, polymorphism, inheritance)

How it compares

Against the other 86 rated Udemy courses in C++ on CourseDuck:

  • Rating4.3 out of 5higher than 25% of them
  • Reviews7,647#9 of 87 by number of reviews
  • Length12.5 hourslonger than 56% of them
  • Last updatedDecember 2020earlier than 69% of them

icon
Course Description

Course Overview

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

  • The latest versions of the C++ programming language
  • Use of modern programming approaches: dependency injection, use of coroutines, and more!
  • Use of modern developer tools such as CLion and ReSharper C++
  • 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 was written using C++ and Smalltalk as examples, but since then, design patterns have been adapted to every programming language imaginable: Swift, C#, Java, PHP and even programming languages that aren't strictly object-oriented, such as 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, Null Object, Observer, State, Strategy, Template Method and Visitor

Who Is the Course For?

This course is for C++ 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.

Presentation Style

This course is presented as a (very large) series of live demonstrations being done in JetBrains CLion. Most demos are single-file, so you can download the file attached to the lesson and run it in CLion, XCode or another IDE of your choice (or just on the command line).

This course does not use UML class diagrams; all of demos are 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

$11.99

$14.99

$10.99

icon
More C++ courses

$74.99

$49.99

$174.99

$124.99

$139.99

$109.99

icon
Reviews

4.3

7,647 ratings on Udemy

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

By Farokh Zaeri on 7/4/2026

The subject matter of this course is highly valuable and exactly what I was looking for. Unfortunately, the instructor struggles to explain the concepts in a clear and understandable way. The explanations are often confusing, making it difficult to follow along and actually learn the material. I hope the instructor can update the course with clearer explanations, as the topic itself is excellent.

By Robert Sourmenelian on 1/22/2026

This course is definitely great. I have heard about the SOLID principles before, and got curious to learn more about them, and eventually pick some design patterns along the way. In my opinion this course explains the SOLID principles and a lot of useful design patterns in an easy to understand way. The implementations were also very great, and easy to follow. Aside from design patterns, I also really liked the examples as of how to implement similar behavior of C# features like reflections or properties for example. Advanced C++ features were also shown, and explained, too, which is a great plus. Before taking this course I would additionally recommend to learn CMake or use visual studio with boost libraries installed as some of them are required from time to time.

By Alvaro Ramirez Martos on 1/14/2026

The content of the course is very good explained, including good examples and the exercises at the end of each section which helps to consolidate the knowledge. As a possible improvement, some source files do not exactly match what is shown in the classes and you need to modify them. Also, there's no documentation included, so you need to pause the classes and add the explanations so you remember later how things are done, so the total duration of the course is extended a lot. Overall is a very good course, very recommended, but you need to have a good level of C++ to follow it properly.

By Prasad Kulkarni on 11/28/2025

Good one Dmitri, I thoroughly enjoyed this course. It's a modern take on the original GoF's design pattern which was quite based on previous version of C++98. I really feel you can comeup with something amazing like "Thinking in Modern C++", - building new applications utilizing Modern C++. Also, you can go through the various nitty gritty of modern C++ language ! I will surely enroll it !! And the last but not the least, you can also come up with a course how do you analyze a stocks based on the available data and the technology !! Waiting for your responses.

By Benedikt Murer on 11/16/2025

The course is good, but also very demanding on your C++ knowledge (from a Junior position), so you should have a good grasp on the basics. It als helps to at least have heard about the boost library as he makes extensive use out of it (i didn't tho and still got through with a lot of googleing). THe only downside is he doesn't explain a few things so you are a little bit on your own there.

By Ali Akbar on 11/7/2020

Very well explained

By Vasilij on 11/1/2020

In the examples lecturer are focused more on what he do, instead of how he do it. So strong focus on examples from "real world" get's a bit annoying and takes attention away from essence to implemintation.

By Keith Rosenberg on 10/27/2020

Best hands on explanation of open close principal Ive seen!

By Sergey Balbir on 10/26/2020

Usually this topic is explained with UML in addition to code examples. But here, no UML and the examples look like a medley of coding attempts.

By Sergei Shevchenko on 10/14/2020

I enjoyed of this course. There were a few gaps in my experience, which I closed now.

By Kenta Ueoka on 10/3/2020

It's a great course!

By Sahenjit on 9/26/2020

Good course. Well explained

Showing 12 of 315 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 : 86 / 100