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

Какие знаешь принципы SOLID

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

  1. Single Responsibility (единственная ответственность) — класс должен решать только одну задачу.
    javascript
    // Плохо: класс и логирует, и сохраняет
    class User {
      save() { /*...*/ }
      log() { /*...*/ }
    }
  1. Open-Closed (открытость/закрытость) — классы должны быть открыты для расширения, но закрыты для изменений.

    javascript
    // Хорошо: расширяем через наследование
    class Logger {
      log(message) { /*...*/ }
    }
    class FileLogger extends Logger {}
  2. Liskov Substitution (подстановка Барбары Лисков) — наследники должны заменять родителей без изменения поведения.

  3. Interface Segregation (разделение интерфейсов) — клиенты не должны зависеть от методов, которые не используют.

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

    javascript
    // Хорошо: зависимость от интерфейса (в JS — от абстракции)
    class AuthService {
      constructor(logger) {
        this.logger = logger; // logger — абстракция
      }
    }

Применимы и во фронтенде, особенно в сложных приложениях.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы