C#: Design Patterns Part 2
2h 2mIntermediate2021-04-20
Authors

Richard Goforth
Software Architect and Consultant
Course details
Design patterns in C# can save you a lot of time, as you don’t have to recreate code that has already been proven. In this course, instructor Richard Goforth explains what design patterns are and how you can recognize and implement five C# patterns: Observer, Builder, Command, Proxy, and Chain of Responsibility. For each pattern, Richard gives a definition, at least one example of how to implement or use it, any other explanations you may need, and a practice challenge. He concludes with some suggestions on where to continue your education in C# application design with patterns.
Skills covered
Software DesignC#LearningProgramming LanguagesMicrosoftSoftware Development
Concepts
0. Introduction
- 01 - Object-oriented design patterns in C#, part 2
- 02 - Using the exercise files and installing .NET SDK
1. Observer
- 03 - Observer pattern definition
- 04 - Simple event delegate observer implementation in C#
- 05 - Using INotifyPropertyChanged to observe model changes in C#
- 06 - Challenge - Replace a direct call with the Observer pattern
- 07 - Solution - Replace a direct call with the Observer pattern
2. Builder
- 08 - Builder pattern definition
- 09 - Simple builder implementation in C#
- 10 - Explore the ApplicationBuilder pattern being used in an enterprise MVC application
- 11 - Implement the Builder pattern in an MVC application
- 12 - Challenge - Fluent order builder
- 13 - Solution - Fluent order builder
3. Command
- 14 - Command pattern definition
- 15 - Simple Command pattern implementation in C#
- 16 - Implement a data update command in a C# MVC application
- 17 - Challenge - Undo with the Command pattern
- 18 - Solution - Undo with the Command pattern
4. Proxy
- 19 - Proxy pattern definition
- 20 - Simple proxy file access in C#
- 21 - Caching data service proxy with MVC in C#
- 22 - Challenge - Proxy Facade
- 23 - Solution - Proxy Facade
5. Chain of Responsibility
- 24 - Chain of Responsibility pattern definition
- 25 - Simple Chain of Responsibility exception handling in C#
- 26 - ASP.NET Core request pipeline as a Chain of Responsibility
- 27 - Add a filter to the ASP.NET core Chain of Responsibility
- 28 - Challenge - Chain of Responsibility grocery list
- 29 - Solution - Chain of Responsibility grocery list
Conclusion
- 30 - Next steps