Dependency Injection (DI) bermaksud sesuatu objek menerima dependency-nya dari luar dan bukannya mencipta sendiri. Ia merupakan satu bentuk Inversion of Control (IoC): tanggungjawab untuk menyambungkan objek diterbalikkan daripada objek itu dan diberikan kepada pemanggil atau container.
Tanpa DI vs. dengan DI
:
():
.repo = PostgresOrderRepo()
:
():
.repo = repo
service = OrderService(PostgresOrderRepo())
test = OrderService(InMemoryOrderRepo())
