SOLID principles are fundamental when developing software. However, nowadays they can be applied to another process in software development lifecycle like QA Automation, CI/CD pipelines, Infrastructure Development etc.
SOLID is the abbreviation of the following core principles;
S - Single Responsibility
O - Open/Closed
L - Liskov Substitution
I - Interface Segregation
D - Dependency Inversion
Single responsibility principle dictates that a class or method should have one responsibility.
Open/Closed principle dictates that a class or method should be extensible but shouldn't be modifiable.
Liskov substitution principle dictates that subclasses should be exchangeable in between them without having any side effects.
Interface segregation principle dictates that a subclass shouldn't depend on the methods that it doesn't use. If there is such a method on the interface, it should be better to split that method into a different interface.
Dependency inversion principle dictates that entities should depend on abstractions.