Встречается на собеседованиях • сегодня
Что такое dependency inversion principle
Принцип инверсии зависимостей (DIP) — один из SOLID-принципов, гласящий:
- Модули верхнего уровня не должны зависеть от модулей нижнего уровня. Оба должны зависеть от абстракций.
- Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.
Пример:
Вместо прямого использования конкретного класса:
csharp
public class OrderService
{
private readonly SqlDatabase _database;
public OrderService() => _database = new SqlDatabase();
} Применяем DIP через интерфейс:
csharp
public interface IDatabase { void Save(); }
public class SqlDatabase : IDatabase { ... }
public class OrderService
{
private readonly IDatabase _database;
public OrderService(IDatabase database) => _database = database;
} Плюсы:
- Гибкость (легко заменить реализацию).
- Тестируемость (можно подменить mock-объектами).
- Снижение связанности кода.

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