Wpis z mikrobloga

Frontend developer here. Mam pytanie, bo nie znam się na Backendzie. Jakiś czas temu dołączył do zespołu nowy backend dev i jak nigdy tak nikt nie robił, on zaczął w jsonie wysyłać pola z końcową "Dto", np. sizeDto. Wcześniej przyszłoby takie pole po prostu "size". Jakoś mi to tak syfnie wygląda. W jaki sposób takie coś miałoby uzasadnienie? Po co dodawać taką koncówkę? Na froncie nie ma czegoś takiego jak dto i po prostu zastanawiam się jaki jest tego sens.

#programowanie #frontend #backend #java #javascript
  • 21
@lady_katarina: Bez sensu. Jeszcze w nazwie klasy dodać Dto mógłbym jakoś strawić, ale żeby w polach dodawać? Po co? Do #!$%@? na CR to jest. W nazwie klasy też lepiej, moim zdaniem, dodać Request/Response/Resource/View etc. zamiast DTO
@lady_katarina: Jeden rabin powie tak, a inny powie nie. Jeśli te obiekty Dto są agregatami kilku klas/struktur, tak że zamiast wysyłać osobno kilka obiektów typu Przegryw, Incel itp wysyłany jest jeden obiekt typu WykopekDto to może to mieć sens, ale jeśli to wszystkiego co leciało do tej pory dodał tylko suffix i się z tego cieszy to już mniej.

Tak naprawdę to zależy od konwencji przyjętej przez zespół, jeśli takiej nie
@lady_katarina: DTO to takie agregujące struktury danych. Np. chciałabyś na froncie wyświetlić imię, nazwisko i imię kota danej osoby. Załóżmy, że w bazie danych takie informacje są trzymane w dwóch tabelach "Person" i Animal".
Żeby po stronie frontendowej nie robić dwóch zapytań do API, a po stronie backendu nie budować dwóch enepointów, po to jest backend żeby tam procesować logikę biznesową to robi się taki obiekt DTO, który będzie wyglądał mniej
via Wykop Mobilny (Android)
  • 0
@zuch_chlopak: trochę się nie zgadzam z tym wytłumaczeniem. DTO to po prostu obiekt ułatwiający serializacje/deserializacje. Faktycznie responsy do fronta są bardziej zagregowane niż model biznesowy ale to nie cecha DTO tylko tych responsow. Równie mogę osiągnąć tą agregację sklejając jsonowego stringa z palca