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

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

Created by: Dmitri Nesteruk

Produced in 2022

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

icon
Quality Score

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

Overall Score : 84 / 100

icon
Live Chat with CourseDuck's Co-Founder for Help

Need help deciding on a c# course? Or looking for more detail on Dmitri Nesteruk's Design Patterns in C# and .NET? Feel free to chat below.
Join CourseDuck's Online Learning Discord Community

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, Faade, 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.

Who this course is for:
  • Beginner and experienced developers
  • Anyone interested in design patterns

*Some courses are excluded from this sale. Coupon not working? If the link above doesn't drop prices, clear the cookies in your browser and then click this link here.
Also, you may need to apply the coupon code directly on the cart page to get the discount.

Coupon Code

icon
Instructor Details

Dmitri Nesteruk

Dmitri Nesteruk 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#, F# and C++ programming as well high-performance computing using technologies such as CUDA and FPGAs. He has been a C# MVP since 2009.
Dmitri is a graduate of University of Southampton (B.Sc. Computer Science) where he currently holds a position as a Visiting Researcher. He is an author of dozens of courses on Pluralsight, Udemy and elsewhere, covering a wide range of topics including programming, finance and mathematics.

icon
Reviews

4.2

100 total reviews

5 star 4 star 3 star 2 star 1 star
% Complete
% Complete
% Complete
% Complete
% Complete

By Natalia Popescu-Baran on a week ago

The course was interesting, but sometimes a bit hard to follow. The instructor speaks very fast and could offer more insight into what he is doing. I would have appreciated a short description of the example and how the solution will be implemented beforehand. I also believe he could offer a bit more guidance for some of the exercises (the one for the visitor pattern was very good written in my opinion).

By Yogesh Gaur on a month ago

Very lucid explanation of design principles. It would be nice if some notes or pdf could be provided that can be used as a reference later

By Agred on a month ago

This is the best, most thorough and complete course of Design Pattern I've seen to date. Mr Dmitri, thank You very much for sharing Your knowledge and preparing such a great lectures.My biggest surprise was seeing that after each of the sections there is an exercise that test not only knowledge, but also logical thinking. It was really helpful to make sure I understand everything and have grasped the idea of each pattern.

By Teodor Stefanov on 3 months ago

Very good course I just think the excersises after every pattern are a bit overkill. Maybe for newbie programmers they are great but for me they were tedious and this is why did not make them.

By Peter Sutherns on 5 months ago

Very informative, although some of the challenge exercises were unclear in what was wanted and how.

By Milos Petrovic on 5 months ago

4 start because some patterns are not well explained (explained too fast or explanation is confusing). But greatest part is explained well.

By Ali Alhakim on 4 months ago

Not all parts are in my interest especially when some of the patterns such as Proxy and Chain of Responsibility are presented with examples with too detailed implementation that sometimes gets tricky to follow

By Andre Vianna on 3 weeks ago

1 - Too shallow.2 - Examples contain concept mistakes and/or do not express the true concepts.3 - Some explanations are misleading and do not explain the core concept of the pattern as described by the GoF.3 - Many personal styles passed as standards.Not good.

By Trevor Wamhoff on 6 months ago

A truly excellent course.-The instructor does a wonderful job of explaining both the concepts behind each pattern as well as the practical implementations of them.-Watching another person as they write code with commentary should help beginner and even experienced programmers broaden their perspective to approaching problems.-The use of ReSharper really demonstrates what clean, professional code should look like; I would recommend watching this course to anyone that does not already have a solid foundation of code design and style.

By Hakan Sln on 6 months ago

I learnt many things thanks to this course. Dmitri is an excellent teacher, his pacing is good, course content is deep and engaging.The only thing that I think that can be improved is the examples used in topics. It would be better to see a bit more complex problems that these patterns are used to solve instead of - in my opinion - trivial examples.All in all, excellent content, excellent instructor. Thank you for your time and effort for putting this course Dmitri.

By Trevor Dixon on 4 months ago

Like it so far. I'd appreciate more motivation for why patterns are valuable. This could be achieved by introducing problems before solving them. For lots of the patterns, I struggle to follow the code-along, while not really understanding how we want to be able to use the classes. It would be nice if the videos started by explaining the pattern at a high level, then showing an API which COULD be implemented with the pattern, and then actually implementing that API using the pattern.

By Rick Wubs on 4 months ago

Author speaks very, very fast; does not show a high level overview but just jump into the code with contrived examples, and seems to generally be satisfied to make himself sound smart without explaining the concept, idea or theory behind the pattern properly.On the plus side, it does have some nice coding exercises.