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

Есть ли опыт работы с инверсиями зависимостей

Да, есть. Инверсия зависимостей (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, а не от конкретных реализаций, что позволяет легко заменять логгеры.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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