Что такое SOLID

Ответ

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

  1. Single Responsibility (SRP) — класс должен иметь одну ответственность.

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

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

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

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

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