Встречается на собеседованиях • сегодня
Для чего нужен DI
DI (Dependency Injection) — это паттерн проектирования, который позволяет внедрять зависимости в классы извне, а не создавать их внутри. Это делает код более гибким, тестируемым и поддерживаемым.
Преимущества DI:
- Уменьшает связанность кода (loose coupling).
- Упрощает тестирование (можно подменять зависимости моками).
- Облегчает поддержку и масштабирование.
Пример с DI:
csharp
public interface ILogger
{
void Log(string message);
}
public class ConsoleLogger : ILogger
{
public void Log(string message) => Console.WriteLine(message);
}
public class Service
{
private readonly ILogger _logger;
// Внедрение зависимости через конструктор
public Service(ILogger logger)
{
_logger = logger;
}
public void DoWork()
{
_logger.Log("Work done!");
}
}
// Использование:
var logger = new ConsoleLogger();
var service = new Service(logger);
service.DoWork();Без DI (плохой пример):
csharp
public class Service
{
private readonly ILogger _logger = new ConsoleLogger(); // Жёсткая привязка
// ...
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы