Встречается на собеседованиях • сегодня
Какие знаешь способы внедрения зависимостей
Внедрение зависимостей (DI) — это паттерн, при котором зависимости передаются объекту извне, а не создаются внутри. Основные способы:
1. **Через конструктор** (наиболее предпочтительный):
```javascript
class UserService {
constructor(userRepository) {
this.userRepository = userRepository;
}
}
```
2. **Через сеттеры** (менее явный, но гибкий):
```javascript
class UserService {
setRepository(repo) {
this.userRepository = repo;
}
}
```
3. **Через интерфейс/контекст** (например, в React через Context API):
```jsx
const UserContext = createContext();
```
4. **DI-контейнеры** (в Angular, NestJS):
```typescript
@Injectable()
class UserService {
constructor(private userRepository: UserRepository) {}
}
```
Преимущества DI: тестируемость, гибкость, соблюдение принципа инверсии зависимостей (DIP).

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