Встречается на собеседованиях • сегодня

Что такое SOLID

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

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

// Хорошо
class User {}
class UserRepository { save() {} }
class EmailService { send() {} }

text

2. **Open-Closed** (OCP) — классы должны быть открыты для расширения, но закрыты для изменений.  

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

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

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

Применение SOLID упрощает рефакторинг, тестирование и масштабирование кода.
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы