Встречается на собеседованиях • сегодня
Есть ли опыт работы с инверсиями зависимостей
Да, есть. Инверсия зависимостей (Dependency Inversion Principle, DIP) — это один из принципов SOLID, который предполагает, что модули верхнего уровня не должны зависеть от модулей нижнего уровня, а оба должны зависеть от абстракций.
Пример на TypeScript с использованием интерфейсов:
typescript
interface ILogger {
log(message: string): void;
}
class ConsoleLogger implements ILogger {
log(message: string) {
console.log(message);
}
}
class FileLogger implements ILogger {
log(message: string) {
// Логика записи в файл
}
}
class App {
constructor(private logger: ILogger) {}
run() {
this.logger.log("Приложение запущено");
}
}
const appWithConsole = new App(new ConsoleLogger());
const appWithFile = new App(new FileLogger());Здесь App зависит от абстракции ILogger, а не от конкретных реализаций, что позволяет легко заменять логгеры.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы