Log In
Join
for free
Back To Course Home
The Easiest Way to Learn Design Patterns in C#
0% completed
Getting Started
Who This Course is For
What Are Design Patterns?
Challenges with Design Patterns
Unique Approach of This Course
UML Conventions Used in the Course
SOLID Principles and Their Importance
Introduction to SOLID Principles
What’s the Single Responsibility Principle?
The Importance of the Single Responsibility Principle
The Concept of Class Cohesion
What’s the Open-Closed Principle?
Implementing the Open-Closed Principle
Considerations for the Open-Closed Principle
What’s the Liskov Substitution Principle?
Implementing the Liskov Substitution Principle
Violation of the Liskov Substitution Principle
What’s the Interface Segregation Principle?
Importance of the Interface Segregation Principle
When is NotImplementedException Appropriate?
Considerations for the Interface Segregation Principle
What’s the Dependency Inversion Principle?
Implementation of the Dependency Inversion Principle
Benefits of the Dependency Inversion Principle
Quiz: SOLID Principles
Applications of Design Patterns
Introduction to Applications of Design Patterns
Selecting Object Implementation at Runtime
Replicating Complex Objects
Using Large Numbers of Objects
Reusing the Same Object Instance
Dealing with Incompatible Code Structures
Adding New Functionality to Existing Objects
Simplifying Complex Back-End Logic
Developing a Multitier Application
Building a Complex Object Hierarchy
Implementing Complex Conditional Logic
Facilitating Communication Between Objects
Multistage Processing
Encapsulating Complex Operations
Ability to Undo an Action
Traversing Complex Collections
Creating a Family of Related Algorithms
Summary of the Applications of Design Patterns
Quiz: Common Programming Problems
Classifying the Design Patterns
Design Patterns and Their Categories
Creational Design Patterns
What are Creational Design Patterns?
Factory Method: Introduction
Factory Method: Implementation and Example
Factory Method: Benefits and Caveats
Abstract Factory: Introduction
Abstract Factory: Implementation and Example
Abstract Factory: Benefits and Caveats
Builder: Introduction
Builder: Implementation and Example
Builder: Benefits and Caveats
Prototype: Introduction
Prototype: Implementation and Example
Prototype: Benefits and Caveats
Singleton: Introduction
Singleton: Implementation and Example
Singleton: Benefits and Caveats
Quiz: Creational Design Patterns
Structural Design Patterns
What Are Structural Design Patterns?
Adapter: Introduction
Adapter: Implementation and Example
Adapter: Benefits and Caveats
Bridge: Introduction
Bridge: Implementation and Example
Bridge: Benefits and Caveats
Composite: Introduction
Composite: Implementation and Example
Composite: Benefits and Caveats
Decorator: Introduction
Decorator: Implementation and Example
Decorator: Benefits and Caveats
Facade: Introduction
Facade: Implementation and Example
Facade: Benefits and Caveats
Flyweight: Introduction
Flyweight: Implementation and Example
Flyweight: Benefits and Caveats
Proxy: Introduction
Proxy: Implementation and Example
Proxy: Benefits and Caveats
Quiz: Structural Design Patterns
Behavioral Design Patterns
What Are Behavioral Design Patterns?
Command: Introduction
Command: Implementation and Example
Command: Benefits and Caveats
Chain of Responsibility: Introduction
Chain of Responsibility: Implementation and Example
Chain of Responsibility: Benefits and Caveats
Iterator: Introduction
Iterator: Implementation and Example
Iterator: Benefits and Caveats
Mediator: Introduction
Mediator: Implementation and Example
Mediator: Benefits and Caveats
Memento: Introduction
Memento: Implementation and Example
Memento: Benefits and Caveats
Observer: Introduction
Observer: Implementation and Example
Observer: Benefits and Caveats
State: Introduction
State: Implementation and Example
State: Benefits and Caveats
Strategy: Introduction
Strategy: Implementation and Example
Strategy: Benefits and Caveats
Template Method: Introduction
Template Method: Implementation and Example
Template Method: Benefits and Caveats
Visitor: Introduction
Visitor: Implementation and Example
Visitor: Benefits and Caveats
Quiz: Behavioral Design Patterns
Conclusion
Summary
Closing Thoughts
Appendix
Setting Up Local Development Environment
Builder: Introduction
Get a brief introduction to the Builder design pattern.
Get hands-on with 1400+ tech skills courses.
Start Free Trial