SOLID

SOLID - это акроним, который представляет собой пять основных принципов объектно-ориентированного программирования и проектирования.

S принцип единой ответственности Класс должен иметь только одну причину для изменения
O принцип открытости или закрытости Классы должны быть открыты для расширения, но закрыты для модификации.
L принцип подстановки Барбары Лисков Объекты должны быть заменяемы экземплярами их подтипов без нарушения корректности программы.
I принцип инверсии зависимостей Код не должен зависеть от конкретных реализаций, а только от общих абстракций
D принцип разделения интерфейса Клиенты не должны зависеть от интерфейсов, которые они не используют, то есть интерфейсы должны быть специфичными и узко направленными.