Załóżmy, że tworzę klasę User, z polami:
String name
String lastname
Address address
I teraz pytanie o dobre praktyki, lepiej jest stworzyć klasę address i tam pola do adresu czy lepiej zrobić Stringa address i wsadzić tam wszystko?
Załóżmy, że tworzę klasę User, z polami:
String name
String lastname
Address address
I teraz pytanie o dobre praktyki, lepiej jest stworzyć klasę address i tam pola do adresu czy lepiej zrobić Stringa address i wsadzić tam wszystko?
Oczywiście mowa o klasach, które odzwierciedlają strukturę bazy danych sql
Osobną klasę
Zdecydowanie klasę MUSIMY powołać, z jednym Stringiem to jet kiła.
To dopiero początek ciekawych decyzji.
Na gruncie JPA obiekt klasy Address może być emebedded w User, czyli tabela SQL jest szeroka i płaska (będzie prawidłowo wygenerowana przez JPA)
albo może być samodzielną encją (tabelą) w relacji OneToOne albo jeszcze innej..
W/w decyzja by zależała od innych założeń projektowych, np czy sa jeszcze inne klasy charakteryzujące się adresem (Firma / Company). A już ja bym preferował
interface IHavingAddres {
Address getAddres();
}
i klasy po nim
Na marginesie, jak wejdziemy w analizę założeń, zwykle User (użytkownik naszego systemu) nie jest tożsamy z osobą (posiadającą adres).