A więc czym jest Dependency Injection? Jest to wzorzec projektowy który likwiduje zależności między klasami. W tradycyjnym programowaniu klasy łączy się po przez dziedziczenie, są one połączone już na etapie ich projektowania, jakakolwiek podmiana klasy wymaga edytowania ich kodu.
Natomiast wykorzystując DI klasy łączy się dopiero w głównym programie, podczas tworzenia ich instancji. W powyższym przykładzie wskaźnik do instancji klasy
MyLogger przekazujemy do konstruktora klasy
cWork,jest on zapisywany pod wskaźnikiem
_log w tym momencie powstaje połączenie obiektów.
cWork zapisuje u siebie wskaźnik do
MyLogger pod
cLogger* _log. W monecie wywołania funkcji
loguj z
cWork, wywoływana jest funkcja
log z
MyLogger.
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.