ਡਿਪੈਂਡੈਂਸੀ ਇੰਜੈਕਸ਼ਨ (DI) ਦਾ ਅਰਥ ਹੈ ਕਿ ਇੱਕ ਆਬਜੈਕਟ ਆਪਣੀਆਂ ਨਿਰਭਰਤਾਵਾਂ ਨੂੰ ਬਾਹਰ ਤੋਂ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ ਬਜਾਏ ਆਪ ਬਣਾਉਣ ਦੇ। ਇਹ ਇਨਵਰਸ਼ਨ ਆਫ਼ ਕੰਟਰੋਲ (IoC) ਦਾ ਇੱਕ ਰੂਪ ਹੈ: ਆਬਜੈਕਟਾਂ ਨੂੰ ਜੋੜਨ ਦੀ ਜਿੰਮੇਵਾਰੀ ਉਲਟੀ ਆਬਜੈਕਟ ਤੋਂ ਦੂਰ ਜਾਂਦੀ ਹੈ ਅਤੇ ਕਾਲਕਰਤਾ ਜਾਂ ਕੰਟੇਨਰ ਨੂੰ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ।
DI ਤੋਂ ਬਿਨਾ ਬਨਾਮ DI ਦੇ ਨਾਲ
python
:
():
.repo = PostgresOrderRepo()
:
():
.repo = repo
service = OrderService(PostgresOrderRepo())
test = OrderService(InMemoryOrderRepo())
