siemanko
#programowanie #java #android #androiddev

Prosiłbym o poradę. Jak rozwiązać problem zduplikowanego kodu po stronie serwera jak i klienta (aplikacji mobilnej)?

Przykładowo mam klasę GetUsersRequest, która po przeparsowaniu wysyłana jest na serwer. Serwer ma identyczną klasę w swoim projekcie i przepadku deserializacji posiłkuje się nią. Przez takie coś za każdym razem kiedy zmieniam coś np po stronie aplikacji, muszę pamiętać o poprawkach na serwerze.

Inny przypadek. Aplikacja żąda od serwera pobrania punktów dla konkretnej lokalizacji. Serwer wyciąga odpowiednie dane z bazy i jeżeli jest ich dużo, odpowiednio je grupuje, a następnie odsyła. Aplikacja w przypadku braku połączenia powinna posiłkować się zapisanymi wcześniej danymi i je grupować. Jednak tu też problemem jest duplikacja kodu. I serwer i aplikacja mają te same klasy z tym samym kodem do grupowania.
1
  • Najlepsze
  • Wszystkie komentarze
p....._
p....._
@siemanko: Stwórz projekt typu "MyProjectCommons" i tam trzymaj takie klasy. Korzystaj z tego projektu np. przez Maven budujac klienta i serwer. Zmienaisz w jednym miejscu, a zmiany zachodza tu i tu.
3
villager
villager
@siemanko: @polomarket_: ja zamiast commons bym wrzucił wszystkie klasy serwera do klienta(jako zależność). przykład zastosowania: minecraft.
proguard i tak wywali te nieużywane jeżeli to jakiś problem.
1