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

Что такое SOLID и зачем нужны эти принципы?

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

SOLID — пять принципов объектно-ориентированного дизайна, которые делают код устойчивым к изменениям: изменение требований затрагивает мало мест, а классы легко тестировать.

Расшифровка

  • S — Single Responsibility: у класса одна причина для изменения.
  • O — Open/Closed: открыт для расширения, закрыт для модификации.
  • L — Liskov Substitution: подтипы заменяют базовый тип без сюрпризов.
  • I — Interface Segregation: много узких интерфейсов лучше одного толстого.
  • D — Dependency Inversion: зависимости направлены на абстракции, а не на конкретику.
  • Принципы собрал Роберт Мартин, аббревиатуру позже предложил Майкл Фезерс.

Что дают на практике

  • Правки локализованы: новая фича добавляется новым кодом, а не перелопачиванием старого.
  • Тесты проще: зависимости подменяются, классы остаются маленькими и сфокусированными.

Цена

Больше абстракций и файлов; в маленьком проекте строгое следование избыточно — принципы ориентир, а не догма.

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

SOLID — пять ориентиров для ООП-дизайна: одна ответственность, расширение без правок, честная подстановка подтипов, узкие интерфейсы и зависимость от абстракций. Они окупаются в долгоживущем коде с меняющимися требованиями, а в маленьком проекте буквальное следование им плодит лишние абстракции.

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