• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Czy taki sposób wstrzykiwania zależności tworzy silne wiązanie?

+1 głos
63 wizyt
pytanie zadane 9 czerwca w PHP przez CSSoup Mądrala (5,740 p.)

Pytanie może głupie, ale nigdy się nad tym nie zastanawiałem. Chodzi mi o to czy takie wstrzykiwanie zależności jakie mamy na poniższym screenie (zaznaczone na żółto), jest okej, czy może tworzy zbyt mocne wiązanie między Controllerem, a obiektem PostUpdatedNotification?

1 odpowiedź

+1 głos
odpowiedź 9 czerwca przez Wiciorny VIP (144,800 p.)

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. 

komentarz 6 dni temu przez CSSoup Mądrala (5,740 p.)
Co do samego kodu to nie jest mój tylko z filmiku na yt na temat Laravela. Właśnie zaciekawiło mnie to, z tego względu że bardzo często w wielu przykładach czy to bardziej zaawansowanych czy też mniej spotykam taką metodę przekazywania obiektu w różnych miejscach aplikacji.

Ogólnie samo tworzenie tego obiektu odbywa się w kontrolerze, więc w ostateczności tutaj można byłoby przymknąć oko na takie tworzenie obiektu?

A co do metody update to to updatuje ona w Eloquencie model użytkownika, pod spodem wykorzystuje on wzorzec Active Record.

Podobne pytania

0 głosów
1 odpowiedź 159 wizyt
pytanie zadane 24 czerwca 2017 w PHP przez Marduczek Użytkownik (520 p.)
0 głosów
2 odpowiedzi 278 wizyt
pytanie zadane 13 września 2016 w PHP przez deimos Nowicjusz (120 p.)
0 głosów
1 odpowiedź 51 wizyt
pytanie zadane 10 maja 2020 w PHP przez XiverKi Obywatel (1,880 p.)
Porady nie od parady
Komentarze do pytań nie służą do odpowiadania, od tego jest wydzielona sekcja odpowiedzi. Funkcją komentarzy jest natomiast możliwość uzyskania dodatkowych informacji na temat samego posta.Komentarze

83,603 zapytań

132,253 odpowiedzi

291,742 komentarzy

55,205 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...