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

Какой опыт с внедрением зависимостей

Внедрение зависимостей (DI) — это паттерн, при котором зависимости передаются объекту извне, а не создаются внутри. В JavaScript/TypeScript часто используется в фреймворках (Angular, NestJS) или с библиотеками (InversifyJS, Awilix).

Пример с ручным DI:

typescript
class Logger {
  log(message: string) {
    console.log(message);
  }
}

class UserService {
constructor(private logger: Logger) {}

getUser(id: number) {
this.logger.log(Fetching user ${id});
// логика получения пользователя
}
}

const logger = new Logger();
const userService = new UserService(logger); // зависимость внедряется извне

text

**Преимущества:**
- Упрощает тестирование (можно передавать моки)
- Уменьшает связанность кода
- Упрощает замену реализаций

В Angular DI реализован на уровне фреймворка через декораторы `@Injectable()` и инжектор. В React для DI часто используют Context API или сторонние решения.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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