What is SOLID

How each letter of this abbreviation is deciphered.
The article will be useful for beginners to understand these design principles.
SOLID are the principles of software development, following which you will get good code, which later will be well scaled and maintained.
S - Single Responsibility Principle. Each class should have only one area of responsibility.
O - Open closed Principle - the open-closed principle. Classes should be open for expansion, but closed for modification.
L - Liskov substitution Principle - Barbara Liskov substitution principle. It should be possible to substitute any of its subtypes (descendant classes) instead of the base (parent) type (class), and the program operation should not change.
I - Interface Segregation Principle - Interface Segregation Principle. This principle means that it is not necessary to force the client (class) to implement an interface that is not related to it.
D - Dependency Inversion Principle. Upper level modules should not depend on lower level modules. Both should depend on abstractions. Abstractions should not depend on parts. Parts must depend on abstractions.