Save for later

Design Patterns in C# and .NET

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.

Get Details and Enroll Now

OpenCourser is an affiliate partner of Udemy.

Get a Reminder

Not ready to enroll yet? We'll send you an email reminder for this course

Send to:


Rating 4.2 based on 443 ratings
Length 17.5 total hours
Starts On Demand (Start anytime)
Cost $9
From Udemy
Instructor Dmitri Nesteruk
Download Videos Only via the Udemy mobile app
Language English
Subjects Programming
Tags Programming Languages Development

Get a Reminder

Get an email reminder about this course

Send to:

Similar Courses

What people are saying

According to other learners, here's what you need to know

design patterns in 36 reviews

I wanted to learn design patterns and couldn't have asked for a better Tutor.

Besides the main topic of Design Patterns, you will learn a ton of other stuff from a man who really knows what he is talking about!

I would highly recommend this course to anyone who wants to improve their knowledge of design patterns.

This course is an excellent walk through of design patterns with C#.

The instructor does a great job of explaining the design patterns and the code examples have been great so far.

I have learned a lot about design patterns.

value for those who are interested in implementing design patterns in MVC5 Great leaning...few suggestions 1. provide all examples hands on instead of ready made solution proxy 2.Also most of developers don't have resharper tutorials must be without resharper.

Read more

so far in 30 reviews

Not only do I understand the patterns covered so far, my C# is better for taking this.

This is by far the very best Udemy programming cource I have watched so far.

So far so good Comprehensive and easy to follow Good examples with in depth explanation.

And the examples are good so far.

Wow + it was a fun example yes so far exactly what I was looking for Difficult to follow along.

So far so good To early to tell.

I have only far this was just ok.

Read more

too fast in 28 reviews

A bit too fast in speaking.

Good but too fast.

People taking this course often complain about how Dmitri moves too fast with the course and takes certain concepts for granted.

Going too fast when showing the demo.

Bien Very fast for me Too fast too fast.

The tempo is accurate not too fast not too slow.

I find the pace of the speech to be too fast, so I have to pause the video often in order to be able to write code at the same time.

Read more

easy to understand in 17 reviews

Very good course and easy to understand with simple examples.

Easy to understand and very useful.

Easy to understand so far Simple and right to the point.

Teacher is good at explaining what happens and easy to understand at the end.

Thanks <3 It was too fast and did not explain the problem and approach selected initially Great explanation about the principle of SOLID practical and easy to apply to daily work I am liking the course and the mobile app experience Clear, concise and the examples easy to understand the concepts The explanations should be slower and more detailed Very good tutorial with complex conding practices Really great course.

Very easy to understand and fast paced.

Easy to understand...great examples.

Read more

real world in 6 reviews

Secondly, his explanations are not really applicable to the real world.

not this time Videos are too fast to digest, please spend some time in explaining before coding directly in Visual Studio So far, this has been a tremendous course to learn from putting information into a neatly formatted way and teaching the material using real world examples which is very helpful.

IMHO, samples and exercises could be somewhat more realistic, or there could be listed more real world scenarios where the particular pattern could/should be applicable.

Author also mentions NuGet packages which help implementing some design patterns in real world applications.

The SOLID introduction was nice but it fell short of real world examples, in so far as how it can be used.

Read more

real life in 6 reviews

I would use the lessons in real life issues.

I have seen some "real life" problems that I would probably do and in the videos we have solutions to overcome those problems Great practical explanations, the code in examples is easy to understand and written by a true professional so it's like an unadvertised added bonus to see firsthand a creation process by an experienced programmer.

Was hoping to see more "real life" scenarios instead of all text output.

It explains the concept but not giving real life example I am learning fast.

Clear and worthy information, pleasant voice and comfortable talk speed I'm new to the design principles but whatever i am learning from this course is worth It didn't tell about when to use single responsibility pattern, some real life scenarios would be better.

Read more


An overview of related careers and their average salaries in the US. Bars indicate income percentile.

Research Tech, Design/Production Specialist $43k

Freelance Interior design $47k

Account Design Specialist $58k

Web Design Contractor $77k

Set Renderer/ Prop Design $80k

switchgear design and construction $95k

Mold Design Engineering (CAD) $104k

LNG Pressure Vessel & Mechanical Design Engineer Lead $124k

Senior Substation Design/P&C/Relay/Automation/SCADA Engineer $127k

Project Manager, Systems Design & Development $132k

ASIC Design Engineer 3 $185k

Software Design Engineer in Test Contractor 2 $203k

Write a review

Your opinion matters. Tell us what you think.


Rating 4.2 based on 443 ratings
Length 17.5 total hours
Starts On Demand (Start anytime)
Cost $9
From Udemy
Instructor Dmitri Nesteruk
Download Videos Only via the Udemy mobile app
Language English
Subjects Programming
Tags Programming Languages Development

Similar Courses

Sorted by relevance

Like this course?

Here's what to do next:

  • Save this course for later
  • Get more details from the course provider
  • Enroll in this course
Enroll Now