#java #spring #refactoring

Mirki, mam repository rozszerzające CrudRepository.
Zrobiłem 2 custom metody, każda z nich wyciąga mi część danych, którą później merguje i przekazuje do serwisu.
Żadna z nich jako pojedyncza metoda nie jest i nie będzie mi potrzebna.

Chciałbym je jakoś ukryć, żeby nie były dostępne w serwisach , do których wstrzykuje to repo (zrobię sobie default metodę getMergedData która mi będzie zwracać to co chcę i z niej będę korzystać
No i słuchajcie... dotarliśmy do końca trzeciego sezonu podcasta DevTalk! Bardzo dziękuję Wam za te trzy lata.
http://devstyle.pl/2017/06/19/devtalk58-o-refactoringu-z-lukaszem-karskim/

Dzisiaj przed wakacjami - nie odpoczywamy. Jedziemy z koksem. Wałkujemy temat REFACTORINGU! Nie może więc zabraknąć mojej ulubionej kwestii: testów.

Gości dziś u nas Łukasz Karski z firmy Ivanti. Dużo ciekawych refleksji i porad. Jak sobie radzić w tych.. trudniejszych sytuacjach?

Zapraszamy! PLAY!!!

#devstyle #devtalk #podcast #programowanie #refactoring #testowanie
  • Odpowiedz
Mam sobie encję. Chcę na niej i jej plikach wykonać „niebezpieczne” operacje, więc wypadałoby się zabezpieczyć backupem.

Mam dwa pomysły jak to zrealizować. Opinie?

Encja i jej backup:

https://gist.github.com/MacDada/c9a7480c5ba613a43e98

Pomysł1:

BackupFactory
:

https://gist.github.com/MacDada/9459c182ac40cd35bd22

+ zwięzłe użycie i implementacja

-

Task
musi znać dwie klasy (

Backup
i

BackupFactory
)

- magia (backup sam znika wraz z obiektem)

Pomysł2:

BackupManager
:

https://gist.github.com/MacDada/f60b59c12ee7bcc5c1b9

+ backup jest wyraźne usuwany

+

Task
musi znać jedną klasę
  • 1
Ja głosuje na 2. Kod jest bardziej wyrazisty i łatwiej w przyszłości się go będzie czytać. Konstruktory i destruktory nie służą do tego do czego chcesz je użyć, wiec może to budzić niezrozumienie.
  • Odpowiedz
@MacDada: Jaki backup factory? To zadne faktory nie jest... Jesli juz chcesz kombinowac to zrob sobie serwis do backupowania, wstrzyknij go do commanda i na nim operuj. Destruktor jest wywolywany w momencie unsetowania obiektu, nie sluzy do usuwania go. Tak samo constructor, w konstruktorze tylko ladujesz propertiesy, backupo powinien odbywac sie w innej metodzie. Faktory to wzorzec projektowy, poczytaj o nim.
  • Odpowiedz