/design-patterns-using-csharp

Design Patterns using C# and .NET Core, exploring SOLID principles, Creational Design Patterns, Dependency Injection, Structural Design Patterns and Behavioural Design Patterns

Design Patterns using C# and .NET Core

SOLID Principles

A mnemonic acronym, representing 5 object-oriented principles.

Single Responsibility Principle

A class should be responsible for a single part of the functionality.

Open/closed Principle

Open to extension, closed to modification.

Liskov Substitution

Also known as substitutability. You should be able to use a subclass in place of its parent class.

Interface segregation

A class should not depend on methods that it does not need to implement.

Dependency inversion

Your classes and modules should depend on abstractions instead of concrete implementations.

Creational Design Patterns

Dependency Injection

Structural Design Patterns

Behavioural Design Patterns