Introduction
Object-oriented design patterns in C#
()
What you should know
()
Review of terms
()
Using the exercise files and installing .NET SDK
()
1. Defining Software Design Patterns
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
()
2. Get Started with Design Patterns
Overview of the behavioral patterns for C#
()
Using software design patterns
()
Software design pattern drawbacks
()
Overview of the creational patterns for C#
()
Overview of the structural patterns for C#
()
3. The Iterator Pattern
Iterator pattern definition
()
Explicit iterator implementation in C# for generated data
()
Combining iterators in C# with LINQ
()
Challenge: Simultaneous iterators
()
Solution: Simultaneous iterators
()
4. The Factory Method Pattern
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
()
5. The Adapter Pattern
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
()