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

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

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

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

    javascript
    class Payment {
      pay(processor) {
        return processor.process();
      }
    }
    // Можно добавить новые процессоры без изменения Payment.
  2. L (Liskov Substitution) — подклассы должны заменять родительские классы без ошибок.

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

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

    javascript
    // Плохо: жесткая зависимость
    class User {
      constructor() {
        this.db = new MySQLDatabase();
      }
    }
    
    // Хорошо: зависимость через интерфейс
    class User {
      constructor(database) {
        this.db = database;
      }
    }
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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