SOLID 101
is a study project using .NET 8.0 and C# to showcase all five SOLID principles.
Check the blog for a detailed walkthrough.
A class should have a single responsibility.
Classes should be open for extension, but closed for modification.
If S is a subtype of T, then objects of type T in a program may be replaced with objects of type S without altering any of the desirable properties of that program.
Clients should not be forced to depend on methods that they do not use.
High-level modules should not depend on low-level modules. Both should depend on abstractions.
Abstractions should not depend on details. Details should depend on abstractions.