Skip to content
UdemyBestseller on UdemyC#Paid courseIntermediate levelCertificate

Design Patterns in C# and .NET (Udemy.com)

Discover the modern implementation of design patterns with C# and .NET

Created by: Dmitri Nesteruk

Last updated August 2025

Our take

Based on the ratings of 14,074 students, a sample of their written reviews and the syllabus, as the course stood in August 2025. No course pays to be reviewed.

This is a long run of live coding demos in Visual Studio. It starts with the SOLID principles, then goes through every Gang of Four pattern: creational, structural and behavioral. It runs 20.7 hours across 174 lectures, with 23 quizzes and 23 coding exercises. Dmitri Nesteruk, a C# MVP since 2009, shows each pattern in code and often puts a dynamic or reactive variation next to the textbook version. The requirements ask for good C# and familiarity with recent language features, and the reviews back that up.

Students like the depth. Reviewers call it very detailed and the most in-depth pattern course they found, and the coding exercises get praise. The complaints repeat, though. Several say the examples are shapes, people, dogs or in-memory databases instead of real business problems, and that simple ideas get overly complicated implementations. Others find the pace fast, and one dislikes the lecturer's delivery. One reviewer says it promises .NET but says little about how patterns show up in .NET apps. About 7,500 of 14,074 ratings are five stars, and roughly 1,900 are three stars or lower.

The last update was in August 2025, and more than 100,000 students have enrolled. A short F# section on functional patterns closes things out. Treat it as a deep reference more than a gentle intro. If you already write solid C# and want to see how patterns bend in modern code, it fits well. If you want quick, practical patterns for web apps, the reviewers' complaints about unrealistic examples suggest it will feel abstract.

Best forC# developers with real experience who want every GoF pattern plus its modern variations, shown as live code.
Skip it ifYou want business-style examples or an ASP.NET Core angle, or you are still learning C# basics.

Pros

  • Covers SOLID plus every Gang of Four pattern, with 23 coding exercises to practice on
  • Shows static and dynamic variations of patterns, not just the textbook versions
  • Reviewers call the explanations very detailed, with plenty of hands-on C# code
  • Taught by a C# MVP since 2009, so the language-level depth is real

Cons

  • Many examples are shapes, people and in-memory databases, not realistic business cases
  • Several reviewers find the pace fast and some implementations overcomplicated for simple ideas
  • Little on .NET-specific or ASP.NET Core use of patterns despite the title
This course is excellent. It’s important to mention that students should have prior knowledge of C# before starting it.
Juan Miguel Paulino Carpio, a student

Marked intermediate. The requirements and one reviewer both assume solid C# and recent language features, not beginner hand-holding.

Featured in our guide: The Best C# and .NET Courses on Udemy in 2026

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

Course content

28 sections · 174 lectures · 21 hours of video 23 quizzes, 23 coding exercises

  1. 1Introduction 1 free preview1 lecture · 7 min
  2. 2The SOLID Design Principles 1 free preview7 lectures · 56 min
  3. 3Builder 1 free preview10 lectures · 1 quiz · 1.1 hours
  4. 4Factories10 lectures · 1 quiz · 1 hour
  5. 5Prototype7 lectures · 1 quiz · 47 min
  6. 6Singleton8 lectures · 1 quiz · 51 min
  7. 7Adapter 1 free preview6 lectures · 1 quiz · 53 min
  8. 8Bridge3 lectures · 1 quiz · 14 min
  9. 9Composite5 lectures · 1 quiz · 25 min
  10. 10Decorator10 lectures · 1 quiz · 1.3 hours

Who it is for

The instructor says it suits

  • Beginner and experienced developers
  • Anyone interested in design patterns

What you need before you start

  • Good understanding of C#
  • Familiarity with latest C# features
  • Good understanding of object-oriented design principles

How it compares

Against the other 194 rated Udemy courses in C# on CourseDuck:

  • Rating4.5 out of 5higher than 58% of them
  • Reviews14,074#6 of 195 by number of reviews
  • Length20.7 hourslonger than 89% of them
  • Last updatedAugust 2025more recently than 72% of them

icon
Quality Score

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

Overall Score : 90 / 100

icon
Course Description

Course Overview

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

  • The latest versions of C# and the .NET framework
  • Use of modern programming approaches: dependency injection, reactive programming and more
  • Use of modern developer tools such as ReSharper
  • 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: 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 .NET/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. For example, the introduction of the DLR allows us to use an ImpromptuObject, so that our DynamicObject exposes any interface we desire. This allows for dynamic programming, and many design patterns are presented in terms of their static and DLR-based variations.

Presentation Style

This course is presented as a (very large) series of live demonstrations being done in Microsoft Visual Studio. Most demos are single-file, so you can download the file attached to the lesson and run it in Visual Studio, Visual Studio Code, Rider or another IDE of your choice.

This course does not use UML class diagrams; all of demos are live coding. I use Visual Studio, various NuGet packages, R# unit test runner and even dotMemoryUnit.


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

$13.99

$14.99

$14.99

$11.99

$14.99

$10.99

icon
More C# courses

$84.99

$13.99

$64.99

$19.99

$12.99

$84.99

icon
Reviews

4.5

14,074 ratings on Udemy

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

By Jaime Dominique Boillot Garcia on 4/10/2026

Habla demasiado rápido y pica todo el código igual, demasiado rápido. Como formador y como curso me parece que si no tienes un nivel de inglés alto y unos conocimientos de código muy altos, no te vas a enterar de mucho. Creo que podría y debería ir con más calma y explicar mejor todo lo que va haciendo. Si este curso está orientado a seniors, se debería exponer en el mismo.

By Neal Fulves on 3/13/2026

The one thing that's distracting is the way he talks, and it makes it hard to follow when it doesn't have to be. Sentences run-on, volume swells, tone shifting swells are just a few. It sounds like he's trying too hard to sound professional and doesn't know what it should sound like during the course.

By Juan Miguel Paulino Carpio on 10/25/2025

This course is excellent. It’s important to mention that students should have prior knowledge of C# before starting it. Fortunately, I took it after gaining some experience with the language. Most of the negative reviews seem to come from people who don’t have a solid grasp of C#.

By Anonymized User on 8/7/2023

This was a great course to start learning Design Patterns in depth. Even though most examples also work in .Net Core, there are still examples that don't. I think there should be alternatives for these cases, other than that I enjoyed the course a lot although there were times it was hard to understand

By Sławomir Stańczyk on 6/23/2023

Awesome course, great teacher, lots of practical knowledge! The only thing that could be added to this super course is to make the entire application (e.g. in WPF technology) based on design patterns with a simple database. I see also there is still room for improvement to automatic translation into Polish language.

By Tobias Röck on 6/17/2023

Amazing Course for Advanced C# Programmer No unnecessary informations, very clean coding (of course public fields for simplicity reasons, etc. but that is always mentioned) Very long course for the money with all modern patterns you could wish Helped me a lot to get to the next level of programming!

By Kuba K on 1/29/2023

This course was perfect for me. It made me realize how little i know and made me motivated to keep learning new stuff. Needed 3 atemps to finish it - each time i came back with more knowledge. It helped me during job interviews a lot. Thanks Dimitri :)

By Lenin Espinoza on 4/22/2022

The course is great, I was able to review a lot of concepts and learn some new to me. I think i need some more scenarios combined with technologies to apply: for example I will look some to apply with asp .net mvc, and in the scenario of a migration. Thanks

By Ozan Can ACAR on 2/17/2022

Even though the courses a bit fast paced and the examples lacks some clarification, Dmitri is an awesome Software Engineer and Instructor. The effort he put in this course is unbelievable. I've taken notes during lectures and i'll try my best to implement these in my work. Thank you so much, i always recommend your courses to my co-workers.

By Ross Hendry on 4/13/2020

Perhaps one of the most challenging things about a career in software development is acquiring the knowledge and experience to make things elegant, extensible, manageable and efficient. As well as structuring your applications in a way that makes it easier for someone to see the why and the how of your code. A major part of that is developing things with coherent design patterns in mind. Dmitri does an excellent job at communicating exactly what those patterns are, and how to implement them. Perhaps most importantly though - he clearly lays out each pattern's strengths and weaknesses, often with real world context. You aren't just learning academic theory here - these are practical skills you'll add to your toolkit. None of that is an easy and Dmitri should be applauded for doing it so successfully. By the end of this course you'll see what you may already be doing right whilst (mostly) learning a ton of new tricks and knowledge that will enable you to confidently approach future projects. There is a bunch of great lectures here, with each section tied off by fun yet challenging coding exercises that apply what you've learned. Having finished the course I can honestly say I feel more confident and knowledgeable than I did before I started. Plus, all the code you'll end up writing is great reference material for the future too. Thanks a lot mate! P.S. The course is also updated fairly regularly, there's a sizeable 90 minutes of Bonus Lectures to go with the core course! Look forward to seeing more of those, very practical!

Showing all 10 reviews on CourseDuck

Read all 14,074 reviews on Udemy