Wpis z mikrobloga

wzorceprojektowe #java #cleancode

Mirki, jak najlepiej wyjść z takiej sytuacji?
Dajmy na to, że mamy serwis, którego głównym zadaniem jest zrobienie requestu do webservice'u. Po każdym takim requescie należy zapisać zapisać o nim informacje do bazy. Jeśli zrobię metodę queryXXXWebService() i w niej umieszcze taki kod, to czy nie jest to pogwałcenie SRP?

queryXXXWebService() {
Object costam = callToWS();
saveToDb(costam);
}
Operacje te są ze sobą sciśle powiazane. Czy metoda wtedy nie powinna sie nazywac queryXXXWebServiceAndSaveToDb? Według mnie nazwa metody wtedy jest brzydka i również gwałci SRP.
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@fegwegw: zgadza się, lecz ta operacja jest ważna z punktu widzenia biznesu, a nazwa metody queryXXXWebService w ogóle nie mówi o tym, że będzie wykonywana jakakolwiek operacja na bazie

@Smevios: warto aż tak komplikować kod? to są dwie jednolinijkowe operacje na krzyż
  • Odpowiedz
@grizzly_joe: to jak tak bardzo chcesz mieć akademicki, czysty kod, to stwórz metodę biznesową, która będzie w jednym kroku pobierała dane z endpointa, a w drugim zapisywała je do bazy.

warto aż tak komplikować kod?


@grizzly_joe: nie warto. Nigdy nie warto komplikować kodu aby na siłę starać się spełniać wszelkie SOLIDy, KISSy, DRYe, PO I PiSy.
  • Odpowiedz