Wpis z mikrobloga

#programowanie #spring #java Mirki, dlaczego w Springu najlepszym wyjściem jeżeli chodzi o wstrzykiwanie zależności jest metoda z konstruktorem? I czy np. dobrze jest takie pole oznaczać jako final i z jakiego powodu?
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

metoda z konstruktorem?


@D3xxT3r: A jak inaczej chcesz to robić?

Setterem? Używanie setterów powoduje, że istnieje możliwość utworzenia obiektu, który będzie miał niepoprawny stan przez brakującą zależność (pomiędzy utworzeniem obiektu, a użyciem settera). To się w OOP nigdy nie powinno zdarzać. Albo trzeba obsługiwać, że zależność może nie być przekazana w każdym miejscu, gdzie jest używana. To jest często
  • Odpowiedz
@zakopiak: już wyjaśnił, dlatego podsumuję: Construtor injection jest jedynym poprawnym sposobem wstrzykiwania zależności i modelowania grafu problemowego. Cała reszta ( wstrzykiwanie przez refleksję/annotacje, wstrzykiwanie przez settery, robienie obiektów w środku ) to mega słabe hacki
  • Odpowiedz