Wstrzykiwanie zależności to technika stosowana w programowaniu obiektowym (OOP). Ta technika odwołuje się lub łączy z innym programem i sprawia, że oryginalny program jest zależny od programu, do którego się odwołuje. Pozwala to programistom na natychmiastowe dodawanie funkcji lub dodatkowych funkcji do oryginalnego programu, ale także komplikuje kodowanie i dodaje nadmierne kodowanie, które może spowolnić program. Większość programów OOP umożliwia programistom odwoływanie się do różnych zainstalowanych programów bez konieczności dodawania kodu.
Użycie wstrzykiwania zależności jest często oszczędne w większości programów. Aby uczynić program zależnym, programista pisze kod, który odwołuje się do innego programu, w części lub w całości. Zwykle można odwoływać się do dowolnego zainstalowanego programu, ale niektóre schematy kodowania umożliwiają odwoływanie się tylko do określonych programów. Na przykład, jeśli programista chce dodać do programu funkcje tekstowe, zamiast tworzyć tę funkcję ręcznie, może odwołać się do programu do edycji tekstu. Dzięki temu oryginalny program ma teraz nową funkcję, ale jest zależny od tego, który inny program działa i pozostaje zainstalowany na komputerze.
Większość nowych programistów woli używać wstrzykiwania zależności zamiast ręcznego budowania funkcji. Dzieje się tak, ponieważ tworzenie funkcji może być skomplikowane, a nowi programiści mogą nie wiedzieć, jak skutecznie je tworzyć. Odwołując się do programu, programista nie musi znać kodowania, a każdą funkcję można dodać za pomocą zaledwie kilku linijek kodu.
Z wstrzykiwaniem zależności jest wiele problemów, zwłaszcza jeśli program jest przeznaczony dla konsumentów, dlatego często jest nieużywany lub używany oszczędnie przez profesjonalistów i dostawców oprogramowania. Jednym z najbardziej oczywistych problemów związanych z wstrzykiwaniem zależności po stronie konsumenta jest możliwość, że konsument może nie mieć przywoływanego programu. Jeśli program jest skonstruowany w taki sposób, aby odwoływał się do funkcji w Programie A, ale klient nie ma zainstalowanego Programu A, funkcja lub cały program napotka wyniszczający błąd.
Na wysokich poziomach zależności, gdzie odwołuje się kilka programów, pojawiają się inne problemy. Odwoływanie się do jednego lub dwóch programów tworzy niewielką ilość kodu, ale robienie więcej może wymagać nadmiernego kodu, który spowalnia program. Jeśli program zawiera błąd, istnieje teraz duża ilość skomplikowanego kodu, przez który programista musi się zagłębić, aby znaleźć błąd, zwłaszcza że błąd może dotyczyć programu, do którego się odnosi, a nie oryginalnego programu.
Wielu nowych programistów używa wstrzykiwania zależności, więc większość schematów OOP oferuje automatyczny sposób odwoływania się do programu. Pozwala to programiście na nawiązanie połączenia referencyjnego za pomocą zaledwie kilku kliknięć myszką. Automatyczne odwoływanie się do programu często dodaje nieco więcej kodowania niż ręczne pisanie odniesienia, ale ponieważ programista jest nowy i program najprawdopodobniej nie trafi do konsumentów, nie powinno to stwarzać żadnych poważnych problemów.