## 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)