Встречается на собеседованиях • сегодня
Какой опыт с внедрением зависимостей
Внедрение зависимостей (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 или сторонние решения.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы