Встречается на собеседованиях • сегодня
Что такое принцип инверсии зависимостей
Принцип инверсии зависимостей (DIP) — один из SOLID-принципов, гласящий, что модули высокого уровня не должны зависеть от модулей низкого уровня. Оба должны зависеть от абстракций. Абстракции не должны зависеть от деталей — детали должны зависеть от абстракций.
Пример без DIP:
csharp
public class OrderService
{
private readonly SqlDatabase _database;
public OrderService(SqlDatabase database) => _database = database;
}Пример с DIP:
csharp
public interface IDatabase
{
void Save(Order order);
}
public class OrderService
{
private readonly IDatabase _database;
public OrderService(IDatabase database) => _database = database;
}
public class SqlDatabase : IDatabase { ... }
public class MongoDatabase : IDatabase { ... }Преимущества:
- Уменьшение связанности кода
- Простота тестирования (можно подменить реальную БД моком)
- Гибкость при изменении реализации

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