Встречается на собеседованиях • сегодня
Что такое внедрение зависимостей
Внедрение зависимостей (Dependency Injection, DI) — это шаблон проектирования, при котором зависимости объекта передаются извне, а не создаются внутри него. Это делает код более гибким, тестируемым и поддерживаемым.
Основные преимущества:
- Уменьшает связанность между компонентами
- Упрощает тестирование (можно подменять зависимости mock-объектами)
- Делает код более читаемым и понятным
Пример без DI:
csharp
public class OrderService
{
private readonly ILogger _logger = new FileLogger(); // зависимость жестко закодирована
}Пример с DI:
csharp
public class OrderService
{
private readonly ILogger _logger;
public OrderService(ILogger logger) // зависимость внедряется через конструктор
{
_logger = logger;
}
}В .NET для DI часто используют встроенный контейнер или сторонние библиотеки (Autofac, Ninject).

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