• 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
Zadając pytanie postaraj się o odpowiedni tytuł, kategorię oraz tagi.Tagi

83,605 zapytań

132,254 odpowiedzi

291,743 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.

...