zacznijmy od tego, że w pokazanym przykładzie nie wstrzykujesz żadnej zależności i to nie jest Dependency Injection - zapoznaj się nieco lepiej z pojęciem.
(zaznaczone na żółto),
na żółto to zaznaczone jest tworzenie obiektu - tworzysz go TY jako programista, ale działasz nie na rzecz obiektu zewnętrznego a wywołania metody, więc tak naprawdę DI nie ma, jeśli korzystałbyś tutaj z Pola klasy, która zawiera obiekt wstrzyknięty to może.
Nawiązując dalej, czy ŁAMIE TOLOOSE COUPLING ? Niestety tak, jak bardzo ? Nie wiadomo - dlatego, że nie wiemy jaka logika stoi za twoim obiektem tworzonym, co udostępnia, jaki jest jego interfejs, zarówno jakie sa np. metody aspektowe.
Dodatkowo też pytanie jak ogólnie i co jest zadaniem obiektu dla którego zdefiniowana jest operacja update();
Pojęcie SILNEGO WIĄZANIA W MYŚL GRASP- to niestety oceniamy na poziomie architektury, natomiast tutaj bardziej pojęcie bym wiązał z SOLID - w tym przypadku, mamy do czynienia właśnie z zasadą DEPENDENCY INJECTION
która jasno mówi Wysokopoziomowe moduły nie powinny zależeć od modułów niskopoziomowych
Teraz pojawia się pytanie : czy faktycznie tak jest? Który u Ciebie obiekt jest którym modułem. W razie pytań fajnie przedyskutujemy.