What are they?
SOLID is an acronym for five design principles intended to make software designs more understandable, flexible, and maintainable. These principles are:
- Single Responsibility Principle: A class should have one, and only one, reason to change.
- Open/Closed Principle: Classes should be open for extension but closed for modification.
- Liskov Substitution Principle: Subclasses should be substitutable for their base classes.
- Interface Segregation Principle: Clients should not be forced to depend on interfaces they do not use.
- Dependency Inversion Principle: Depend on abstractions, not concretions.