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

Что такое SOLID

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

  1. SRP (Single Responsibility) — класс должен иметь одну ответственность.
  2. OCP (Open-Closed) — классы должны быть открыты для расширения, но закрыты для изменений.
  3. LSP (Liskov Substitution) — подклассы должны заменять базовые классы без ошибок.
  4. ISP (Interface Segregation) — клиенты не должны зависеть от интерфейсов, которые не используют.
  5. DIP (Dependency Inversion) — зависимости должны строиться на абстракциях, а не на деталях.

Пример SRP:

javascript
// Плохо: класс и логирует, и сохраняет
class User {
  save() { /* ... */ }
  log() { /* ... */ }
}

// Хорошо: разделение
class User {
  save() { /* ... */ }
}
class Logger {
  log() { /* ... */ }
}
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы