Referencje do jednego obiektu w wielu klasach

Referencje do jednego obiektu w wielu klasach
UB
  • Rejestracja: dni
  • Ostatnio: dni
0

Jeśli jakiegoś referencyjnego obiektu będę używać w wielu klasach (a także wątkach, ale to w sumie nie ma znaczenia, bo tym obiektem jest SynchronousQueue) to czy zamiast w każdej klasie dawać pole i inicjalizować je w konstruktorze, lepiej będzie walnąć gdzieś statyczny w/w obiekt i odnosić się do niego?

UB
  • Rejestracja: dni
  • Ostatnio: dni
0

Ten obiekt przekazywany jest do klas tworzonych w klasach i ciągnie się jak łańcuch... Wydaje mi się to trochę bez sensu.

EDIT: Kurde, no! @Swr , Jak tak można, usuwać własne posty a ja potem odpisuje do ściany!

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
2

Lekcja na dziś: wstrzykiwanie zależności :)
Najlepiej byłoby ten obiekt wstrzyknąć przez kontener IoC ale jak sie nie da to wygodniej będzie ci zrobić ServiceLocator albo od biedy Singleton.

Wibowit
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: XML Hills
1

Statyczne metody utrudniają testowanie (pomijając zabawy z classloaderami jak np w PowerMocku, ale one też nie są jakieś super czytelne). Lepiej poświęcić się i napisać kilka procent kodu produkcyjnego więcej, ale za to mieć lepsze testy jednostkowe.
Czasami jednak statyczne metody mają sens, ale to raczej takie, które nie korzystają ze statycznego mutowalnego stanu i mają na tyle wąski obszar działania, by nie trzeba było ich mockować w testach.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.