SOLID
Rashid VagapovSOLID - мнемонический акроним, введённый Майклом Фэзерсом для первых пяти принципов, названных Робертом Мартином в начале 2000-х, которые означали пять основных принципов объектно-ориентированного программирования и проектирования.
S - SRP - The Single Responsibility Principle - Принцип единственной ответственности: Каждый класс выполняет лишь одну задачу.
O - OCP - The Open Closed Principle - Принцип открытости/закрытости: программные сущности должны быть открыты для расширения, но закрыты для изменения
L - LSP - The Liskov Substitution Principle - Принцип подстановки Барбары Лисков: Функции, которые используют базовый тип, должны иметь возможность использовать подтипы базового типа, не зная об этом.
I - ISP - The Interface Segregation Principle - Принцип разделения интерфейса: Интерфейс должен содержать лишь одну функциональность, то есть класс не должен содержать реализаций интерфейса, которые он не использует.
D - DIP - The Dependency Inversion Principle - Принцип инверсии зависимостей: Модули верхнего уровня не должны зависеть от модулей нижнего уровня. Оба должны зависеть от абстракции. Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.