C# Design Patterns
This course will teach you how to improve code base by using tested and proven object-oriented design patterns.
What you'll learn
Every code base can be improved. In this course, C# Design Patterns, you’ll learn what design patterns are. First, you’ll learn how to vastly improve your code base by applying 23 different design patterns. Next, you'll discover the means of handling all sorts of challenges. Finally, you'll explore various use cases for these various design patterns. When you’re finished with this course, you’ll have the skills and knowledge to use state of the art design patterns in C# 12 to improve your code base.
Table of contents
- Coming Up 1m
- Describing the Singleton Pattern 3m
- Singleton Pattern Structure 1m
- Demo - Implementing the Singleton Pattern 3m
- Demo - Making the Implementation Thread-safe with Lazy<T> 2m
- Use Cases for the Singleton Pattern 2m
- Pattern Consequences 1m
- Related Patterns 1m
- Summary 1m
- Checkpoint 01 - Implementing the Singleton Pattern 0m
- Checkpoint 02 - Making the Implementation Thread-safe with Lazy<T> 0m
- Coming Up 1m
- Describing the Abstract Factory Pattern 6m
- Abstract Factory Pattern Structure 2m
- Demo - Implementing the Abstract Factory Pattern 6m
- Use Cases for the Abstract Factory Pattern 4m
- Pattern Consequences 2m
- Comparing the Abstract Factory Pattern to the Factory Method Pattern 2m
- Related Patterns 1m
- Summary 1m
- Checkpoint 04 - Implementing the Abstract Factory Pattern 0m
- Coming Up 1m
- Describing the Prototype Pattern 2m
- Prototype Pattern Structure 1m
- Demo - Implementing the Prototype Pattern 4m
- Shallow Copy vs. Deep Copy 1m
- Demo - Supporting Deep Copies 3m
- What About the ICloneable Interface? 1m
- Use Cases for the Prototype Pattern 3m
- Pattern Consequences 1m
- Related Patterns 1m
- Summary 1m
- Checkpoint 06 - Supporting Deep Copies 0m
- Coming Up 1m
- Describing the Object Adapter Pattern 2m
- Object Adapter Pattern Structure 1m
- Demo - Implementing the Object Adapter Pattern 5m
- Describing the Class Adapter Pattern 1m
- Class Adapter Pattern Structure 1m
- Demo - Implementing the Class Adapter Pattern 2m
- Use Cases for the Adapter Pattern 3m
- Pattern Consequences 2m
- Related Patterns 1m
- Summary 1m
- Checkpoint 07 - Implementing the Object Adapter Pattern 0m
- Coming Up 1m
- Describing the Proxy Pattern 3m
- Structure of the Proxy Pattern 1m
- Variations of the Proxy Pattern 3m
- Demo - Implementing the Proxy Pattern 7m
- Demo - Chaining Proxies 3m
- Use Cases for the Proxy Pattern 3m
- Pattern Consequences for Proxy Pattern Variations 1m
- Related Patterns 1m
- Summary 1m
- Checkpoint 12 - Implementing the Proxy Pattern 0m
- Coming Up 1m
- Describing the Flyweight Pattern 5m
- Structure of the Flyweight Pattern 1m
- Demo - Implementing the Flyweight Pattern 4m
- Working with an Unshared Concrete Flyweight 2m
- Demo - Supporting an Unshared Concrete Flyweight 3m
- Use Cases for the Flyweight Pattern 3m
- Pattern Consequences 1m
- Related Patterns 0m
- Summary 1m
- Checkpoint 13 - Implementing the Flyweight Pattern 0m
- Coming Up 1m
- Describing the Template Method Pattern 3m
- Structure of the Template Method Pattern 1m
- Demo - Implementing the Template Method Pattern 3m
- Use Cases for the Template Method Pattern 3m
- Pattern Consequences 1m
- Related Patterns 1m
- Summary 1m
- Checkpoint 15 - Implementing the Template Method Pattern 0m
- Coming Up 1m
- Describing the Strategy Pattern 4m
- Strategy Pattern Structure 1m
- Demo - Implementing the Strategy Pattern 5m
- Demo - Implementing a Strategy Pattern Variation with a Method Parameter 1m
- Use Cases for the Strategy Pattern 3m
- Pattern Consequences 2m
- Related Patterns 1m
- Summary 1m
- Checkpoint 16 - Implementing the Strategy Pattern 0m
- Coming Up 1m
- Describing the Command Pattern 4m
- Structure of the Command Pattern 1m
- Demo - Implementing the Command Pattern 10m
- Demo - Supporting Undo with a Command Manager 3m
- Use Cases for the Command Pattern 3m
- Pattern Consequences 1m
- Related Patterns 2m
- Summary 1m
- Checkpoint 17 - Implementing the Command Pattern 0m
- Coming Up 1m
- Describing the Mediator Pattern 3m
- Structure of the Mediator Pattern 1m
- Demo - Implementing the Mediator Pattern 8m
- Demo - Supporting Communication Between Specific Objects 4m
- Alternative: MediatR 1m
- Use Cases for the Mediator Pattern 4m
- Pattern Consequences 1m
- Related Patterns 1m
- Summary 1m
- Checkpoint 20 - Implementing the Mediator Pattern 0m
- Coming Up 1m
- Describing the Chain of Responsibility Pattern 4m
- Structure of the Chain of Responsibility Pattern 1m
- Demo - Implementing the Chain of Responsibility Pattern 6m
- Use Cases for the Chain of Responsibility Pattern 3m
- Pattern Consequences 1m
- Related Patterns 1m
- Summary 1m
- Checkpoint 21 - Implementing the Chain of Responsibility Pattern 0m
- Coming Up 1m
- Describing the State Pattern 5m
- Structure of the State Pattern 1m
- Demo - Implementing the State Pattern 7m
- Demo - Extending the Bank Account Example With an Additional State 4m
- Use Cases for the State Pattern 3m
- Pattern Consequences 1m
- Related Patterns 1m
- Summary 1m
- Checkpoint 23 - Implementing the State Pattern 0m
- Coming Up 1m
- Describing the Visitor Pattern 4m
- Structure of the Visitor Pattern 2m
- Demo - Implementing the Visitor Pattern 6m
- Demo - Simplifying the Visitor Interface 2m
- Use Cases for the Visitor Pattern 3m
- Pattern Consequences 2m
- Related Patterns 1m
- Summary 1m
- Checkpoint 25 - Implementing the Visitor Pattern 0m
- Coming Up 1m
- Describing the Interpreter Pattern 3m
- Structure of the Interpreter Pattern 2m
- Implementing the Interpreter Pattern 5m
- Terminal vs. NonTerminal Expressions 2m
- Use Cases for the Interpreter Pattern 3m
- Pattern Consequences 1m
- Related Patterns 0m
- Summary 1m
- Checkpoint 26 - Implementing the Interpreter Pattern 0m
- Coming Up 1m
- Detailing the Repository Pattern 5m
- Generic vs Non-generic Repositories 5m
- Demo: Adding a Generic Repository Contract & Non-Generic Implementation 9m
- Demo: Adding a Generic Repository Implementation 4m
- Demo: Adding a Non-Generic Repository Contract & Implementation 4m
- Demo: Combining Generic and Non-Generic Repositories 4m
- EF Core and The Repository Pattern 1m
- Real-world Use Cases 1m
- Summary 1m