Planuje napisać aplikacje webową przy wykorzystaniu Spring MVC, JPA + jakiś front. Mianowicie mam taki problem, że nie wiem jaką konwencję nazw dla klas,pakietów powinienem przyjąć, co zawrzeć w klasach. Patrzyłem na githubie i są pewne różnice. Dlatego wolę się dopytać.
Przykładowo chce rejestrować userów.
To tworzę sobie klasę User która będzie encją, czy może lepiej nazwać klase UserModel
lub UserData
?
Interfejs UserDao
będzie zapewniał dostęp do danych z bazy.
Potrzebuję również kontrolera do obsługi żądań, jedyna sensowna nazwa dla mnie to UserController
. W kontrolerze mam referencje do interfejsu UserService</code>. Kontroler ma metody CRUD, ale na przykład chciałbym walidować poprawność danych przy tworzeniu usera, to na UserService tworze sobie metody
validatePassword <code>validateEmail</code> itp., a na kontrolerze mam tylko <code>createUser
w którym wywołuje sobie wcześniej wspomniane metody. Czy tak jest prawidłowo?
Jak powinienem poukładać to w pakiety?
User-> Model
Dao
Service
Controller
I dla Book oddzielna paczka z takimi samymi podpakietami ? Czy może po jednym pakiecie Model,Dao,Service,Controller i tam pakowac UserDao,BookDao itp?