SOLID Design Principles

S: Single Responsibility Principle

O: Open-Closed Principle

L: Liskov Substitution Principle

I: Interface Segregation Principle

D: Dependency Inversion Principle