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

Для чего нужна инверсия зависимостей

Инверсия зависимостей (Dependency Inversion Principle, DIP) — один из принципов SOLID, который помогает уменьшить связанность кода. Суть в том, что модули верхнего уровня не должны зависеть от модулей нижнего уровня — оба должны зависеть от абстракций.

Пример без DIP:

javascript
class Database {
  save(data) { /* сохранение в БД */ }
}

class UserService {
constructor() {
this.db = new Database(); // жёсткая зависимость
}
}

text

**Пример с DIP:**  
```javascript
class Database {
  save(data) { /* сохранение в БД */ }
}

class UserService {
  constructor(database) { // зависимость через абстракцию (интерфейс)
    this.db = database;
  }
}

const db = new Database();
const userService = new UserService(db); // инъекция зависимости

Плюсы:

  • Гибкость (легко заменить реализацию).
  • Тестируемость (можно подменить моки).
  • Чистый и поддерживаемый код.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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