Wpis z mikrobloga

Hej, od jakiegoś czasu uczę się C++.
Nie wiecie może jak się w nim ogarnia Dependency Injection?
Z tego co mój tępy umysł rozumuje jako interfejs robi nam klasa abstrakcyjna do której wskaźnik ląduje w klasie do której będziemy robili wstrzykiwanie. Sam zabieg chyba polega na przypisaniu do tego wskaźnika adresu obiektu klasy pochodnej od tej abstrakcyjnej w której znajduje się nasza "wymienna" implementacja.
A może robi się to jakoś inaczej lub jest więcej jak jeden sposób?
#programista15k #programowanie #naukaprogramowania
  • 2
  • Odpowiedz
@Krazownik: tak, musisz użyć jakiegoś pointera czy referencji. Najczęściej używa się zwykłej referencji lub smart pointerów: uniqueptr lub sharedptr. Jeśli używasz referencji to musisz zadbać, żeby obiekt wstrzykiwany żył przez czas życia obiektu do którego wstrzykujesz.

Zwykłego wskaźnika też możesz użyc jeżeli zadbasz o ten cykl życia.

Dependency Injection nie musi też polegać na interfejsach ani wskaźnikach. Ważny jest sam fakt przekazania instancji z zewnątrz. Przykładowo możesz mieć klasę,
  • Odpowiedz