Sobes.tech
Junior — Middle
93

¿Podría explicar qué se entiende por el concepto de inyección de dependencias en programación?

Empresas donde se preguntó
СБЕР Бизнес
Black Wall Group

Respuesta de la IA

sobes.tech AI

Внедрение зависимостей (Dependency Injection, DI) — это принцип проектирования, при котором объект получает свои зависимости (другие объекты, которые он использует) извне, а не создает их самостоятельно.

Это позволяет:

  • Уменьшить связанность компонентов
  • Упростить тестирование (легко подменять зависимости моками)
  • Повысить гибкость и переиспользуемость кода

Пример на Python:

class Engine:
    def start(self):
        print("Двигатель запущен")

class Car:
    def __init__(self, engine):  # зависимость передается через конструктор
        self.engine = engine

    def drive(self):
        self.engine.start()
        print("Машина едет")

engine = Engine()
car = Car(engine)  # внедрение зависимости
car.drive()

Здесь класс Car не создает объект Engine самостоятельно, а получает его извне. Это позволяет легко заменить Engine на другой класс с таким же интерфейсом, например, для тестирования.