SOLID Principles
SOLID is an acronym for five object-oriented design principles that make software easier to understand, maintain, and extend.
| Letter | Principle | One-liner |
|---|---|---|
| S | Single Responsibility | A class should have only one reason to change |
| O | Open / Closed | Open for extension, closed for modification |
| L | Liskov Substitution | Subtypes must be substitutable for their base types |
| I | Interface Segregation | Clients should not depend on interfaces they don't use |
| D | Dependency Inversion | Depend on abstractions, not concretions |