Cześć. Zmagam się ze zrozumieniem pojęć i różnic pomiędzy IoC a DI. Nigdy nie przykuwałem do tego uwagi, po prostu wiedziałem jak się powinno pisać kod.
Nie powinienem robić aby jakaś klasa zależała od drugiej, czyli pisać w klasie Test Class class = new Class();
, tylko powinienem wstrzykiwać tę klasę do konstruktora klasy Test. Plusy znam, łatwe utrzymanie, można takie klasy testować zmieniając implementacje.
No ale właśnie, wiem jak to się robi, nie wiem co to dokładnie oznacza. Zawsze mi się wydawało, że to co u góry napisałem, to jest wstrzykiwanie zależności. Gdzieś nad tą klasą tworzę obiekt, który wstrzykuje i to jest właśnie Dependency Injection.
Czy Inversion Of Control jest to cały koncept tego tak jakby? Cały zamysł, a DI to jest tak jakby sposób tego zrobienia?
Przemaglowałem już wiele stron zaczynająć od SO, kończąc na jakiś udziwnionych ścianach tekstu, ale nie mogę tego do końca zrozumieć.
Może mnie ktoś oświecić?