## TL;DR
SOLID (Robert C. Martin, 2000s) is five principles for object-oriented design: S (Single Responsibility), O (Open/Closed), L (Liskov Substitution), I (Interface Segregation), D (Dependency Inversion). SOLID makes code more maintainable, testable, and flexible.
## Core Explanation
SRP: a class should have one reason to change. OCP: open for extension, closed for modification — add behavior without changing existing code. LSP: subtypes must be substitutable for base types. ISP: many specific interfaces better than one general interface. DIP: depend on abstractions, not concretions — high-level modules shouldn't depend on low-level details.
## Further Reading
- [Agile Software Development (Robert C. Martin)](undefined)