Что такое SOLID

«Что такое SOLID» — вопрос из категории Архитектура, который задают на 30% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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

  1. Single Responsibility (SRP) — класс должен иметь одну ответственность.
    // Плохо
    class User {
      saveToDB() {}
      sendEmail() {}
    }

    // Хорошо
    class User {}
    class UserRepository { save() {} }
    class EmailService { send() {} }
  1. Open-Closed (OCP) — классы должны быть открыты для расширения, но закрыты для изменений.

  2. Liskov Substitution (LSP) — подклассы должны заменять родительские классы без ошибок.

  3. Interface Segregation (ISP) — лучше много узких интерфейсов, чем один универсальный.

  4. Dependency Inversion (DIP) — зависимости должны строиться на абстракциях, а не на конкретных реализациях.

Применение SOLID упрощает рефакторинг, тестирование и масштабирование кода.