PassFront
  1. PassFront
  2. База знаний
  3. Принципы S.O.L.I.D

Когда следование SOLID становится избыточным?

Принципы S.O.L.I.D

Строгое следование SOLID повсюду приводит к over-engineering: россыпи интерфейсов-на-один-класс, фабрики фабрик и навигация по семи слоям ради одной строчки логики.

Когда принципы избыточны

  • Прототипы, скрипты, одноразовый код: единственная ось изменений — время.
  • Стабильные домены: требования не менялись годами — «закрывать» код не от чего.
  • Маленькая команда и кодовая база: косвенность дорожает быстрее, чем успевает окупиться.

Типичные перегибы

  • Интерфейс на каждый класс, у которого одна реализация навсегда.
  • DI-контейнер ради двух зависимостей, которые проще передать руками.
  • Дробление по SRP до классов-пустышек с одними геттерами.

Критерий баланса

Абстракция оправдана, если уже есть вторая реализация, потребность в тесте без инфраструктуры или реально ожидаемое изменение — правила YAGNI и трёх ударов.

Коротко для собеседования

SOLID — инструмент против дорогих изменений, и там, где изменений не ожидается, он лишь добавляет косвенность. Абстракцию вводят, когда есть вторая реализация или реальная потребность в тестах; хорошая проверка — сколько файлов приходится трогать ради добавления одного поля.

Другие вопросы раздела