Sobes.tech
Junior — Middle
99

Ați putea explica ce înseamnă conceptul de injecție de dependențe în programare?

Companiile au fost întrebate
СБЕР Бизнес
Black Wall Group

Răspuns de la AI

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 на другой класс с таким же интерфейсом, например, для тестирования.