Встречается на собеседованиях • сегодня
Зачем инвертировать зависимости
Инвертирование зависимостей (Dependency Inversion Principle, DIP) — это принцип SOLID, который помогает уменьшить связанность между компонентами. Вместо того чтобы модули высокого уровня зависели от модулей низкого уровня, оба должны зависеть от абстракций (интерфейсов или абстрактных классов).
Преимущества:
- Упрощает замену реализаций без изменения кода высокоуровневых модулей.
- Улучшает тестируемость (можно подменять зависимости моками).
- Делает код более гибким и поддерживаемым.
Пример:
typescript
// Плохо: высокоуровневый модуль зависит от низкоуровневого
class PaymentProcessor {
private paymentService = new PayPalService(); // Жёсткая зависимость
}
// Хорошо: зависимость через интерфейс
interface IPaymentService {
processPayment(amount: number): void;
}
class PaymentProcessor {
constructor(private paymentService: IPaymentService) {} // Инъекция зависимости
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы