Проверяет знание пяти основополагающих принципов качественной объектно-ориентированной архитектуры.
SOLID — это аббревиатура пяти принципов: Single Responsibility (единственная ответственность), Open/Closed (открытость/закрытость), Liskov Substitution (подстановка Лисков), Interface Segregation (разделение интерфейсов) и Dependency Inversion (инверсия зависимостей). Они направлены на повышение расширяемости, тестируемости и сопровождаемости кода.
S – Single Responsibility Principle:
- Класс/модуль решает только одну задачу.
O – Open/Closed Principle:
- Открыт для расширения, закрыт для модификации.
- Расширяем через наследование или композицию.
L – Liskov Substitution Principle:
- Подтипы должны безошибочно заменять базовые типы.
I – Interface Segregation Principle:
- Интерфейсы маленькие и специализированные, не заставляющие реализовывать лишние методы.
D – Dependency Inversion Principle:
- Зависимость от абстракций, а не от конкретных реализаций.
Преимущества:
Снижение связности, повышение повторного использования, лёгкое тестирование.