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

Зачем инвертировать зависимости

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

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

  • Упрощает замену реализаций без изменения кода высокоуровневых модулей.
  • Улучшает тестируемость (можно подменять зависимости моками).
  • Делает код более гибким и поддерживаемым.

Пример:

typescript
// Плохо: высокоуровневый модуль зависит от низкоуровневого
class PaymentProcessor {
  private paymentService = new PayPalService(); // Жёсткая зависимость
}

// Хорошо: зависимость через интерфейс
interface IPaymentService {
  processPayment(amount: number): void;
}

class PaymentProcessor {
  constructor(private paymentService: IPaymentService) {} // Инъекция зависимости
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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