Встречается на собеседованиях • сегодня

Почему нужно следовать принципу Dependency Inversion Principle

Dependency Inversion Principle (DIP) — один из SOLID принципов, который гласит:

  1. Модули верхнего уровня не должны зависеть от модулей нижнего уровня. Оба должны зависеть от абстракций.
  2. Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.

Преимущества:

  • Уменьшает связанность кода, упрощая замену реализаций.
  • Упрощает тестирование (можно использовать моки/стабы).
  • Делает код более гибким и расширяемым.

Пример:

python
# Плохо: класс напрямую зависит от конкретной БД
class UserRepository:
    def __init__(self):
        self.db = PostgreSQLDatabase()  # Жёсткая зависимость

# Хорошо: зависит от абстракции (интерфейса)
class UserRepository:
    def __init__(self, db: DatabaseInterface):  # Абстракция
        self.db = db

Итог: DIP помогает создавать поддерживаемый и масштабируемый код, избегая жёстких зависимостей.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы