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

Что такое инверсия контроля в программировании

Инверсия контроля (IoC) — это принцип проектирования, при котором управление потоком выполнения программы передается внешней среде (фреймворку, контейнеру и т.д.), а не контролируется самим кодом. Вместо того чтобы явно создавать зависимости, компоненты получают их извне.

Пример с Dependency Injection (частный случай IoC):

javascript
// Без IoC
class UserService {
  constructor() {
    this.db = new Database(); // Жесткая зависимость
  }
}

// С IoC (через DI)
class UserService {
  constructor(db) { // Зависимость инжектируется
    this.db = db;
  }
}

const db = new Database();
const userService = new UserService(db); // Контроль создания вне класса

Преимущества:

  • Уменьшение связанности кода
  • Упрощение тестирования
  • Гибкость в замене реализаций
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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