Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про Python: solid, dependency inversion, abstraction, architecture

Какой принцип из SOLID поддерживает внедрение зависимостей?

Вопрос проверяет знание принципов SOLID и умение сопоставлять их с архитектурными подходами.

Короткий ответ

Принцип внедрения зависимостей относится к последнему принципу SOLID — Dependency Inversion Principle (DIP). Он гласит, что модули верхнего уровня не должны зависеть от модулей нижнего уровня — оба должны зависеть от абстракций.

Длинный ответ

Dependency Inversion Principle (DIP):

  • Один из принципов SOLID.

  • Суть: классы не должны создавать свои зависимости напрямую.

  • Зависимости должны внедряться извне (например, через конструктор).

# Плохой пример (жесткая зависимость):
class Service:
    	def get_data(self):
        	return "data"

class Controller:
    	def __init__(self):
        	self.service = Service()

# Хороший пример (инверсия зависимости):
class Controller:
    	def __init__(self, service):
        	self.service = service

Вывод:
DIP делает код более гибким, тестируемым и легко заменяемым. Это основа для использования внедрения зависимостей.

Уровень

  • Рейтинг:

    2

  • Сложность:

    5

Навыки

  • Python

    Python

Ключевые слова

#solid

#dependency inversion

#abstraction

#architecture

Подпишись на Python Developer в телеграм