Wstrzykiwanie zależności (DI) oznacza, że obiekt otrzymuje swoje zależności z zewnątrz zamiast tworzyć je sam. Jest to forma Inwersji kontroli (IoC): odpowiedzialność za łączenie obiektów jest odwracana od obiektu i przekazywana do wywoływanego lub kontenera.
Bez DI vs. z DI
:
():
.repo = PostgresOrderRepo()
:
():
.repo = repo
service = OrderService(PostgresOrderRepo())
test = OrderService(InMemoryOrderRepo())
