Build better code by leveraging design patterns in C#. Learn about the purpose and effective use of design patterns, and discover how to apply Gang of Four patterns in your code.
Overview
Syllabus
Introduction
- Object-oriented design patterns in C#
- What you should know
- Review of terms
- Using the exercise files and installing .NET SDK
- Object-oriented programming
- What isn't OOP for design patterns
- C#, OOP, and design patterns
- What are design patterns?
- Why do you need design patterns?
- A short history of design patterns
- Categories of design patterns
- Challenge: Design patterns outside of software
- Solution: Design patterns outside of software
- Using software design patterns
- Software design pattern drawbacks
- Overview of the creational patterns for C#
- Overview of the structural patterns for C#
- Overview of the behavioral patterns for C#
- Iterator pattern definition
- Explicit iterator implementation in C# for generated data
- Combining iterators in C# with LINQ
- Challenge: Simultaneous iterators
- Solution: Simultaneous iterators
- Factory Method pattern definition
- Factory Method pattern to choose the implementation of an action dynamically
- Factory Method design pattern for unit testing
- Challenge: Factory Method with dependency injection
- Solution: Factory Method with dependency injection
- Adapter pattern definition
- Adapter in C#: Adapt FileStream to ILogger
- Adapter pattern for ViewModel mapping
- Challenge: Class adapter vs. object adapter
- Solution: Class adapter vs. object adapter
- Next steps
Taught by
Richard Goforth