Освежил в в памяти солид .
Есть 5 принципов.
Стоит ответить на 5 вопросов о проблемном коде:
Все классы имеют каждый свое единственное предназначение?
Все программные сущности открыты для расширения и закрыты для модификации?
Все ли объекты в программе должны быть заменяемыми на экземпляры их подтипов без изменения правильности выполнения программы?
Используется ли единственный интерфейс или присутствует множество специализированных интерфейсов для различных клиентов?
Разделяется ли использование модулей верхних и нижних уровней, чтобы они не лезли не в своей уровень? (Коряво но по другому не могу сформулировать)
Если на все вопросы ответ да - принцип вспомнил соблюдались в полной мере
Если на какой либо вопрос ответ нет, значит соблюдение принципов солид происходит не полностью.