Hej,
pisze aktualnie niedużą apkę w zasadzie realizującą jedną funkcjonalność, Chciałem jednak przećwiczyć sobie hermetyzację i wdrażanie innego podziału pakietów niż controller/service/domain. Mam trzy encje, z czego jedna z nich posiada relacje @ManyToOne
z dwoma pozostałymi. Pomyślałem sobie, że dobrze będzie obiekty encji zamknąć w pakietach i nadać im dostęp prywatny, a po pobraniu z bazy od razu mapować na DTO (dodawać jeszcze obiekty domenowe moim zdaniem to troche za duzo, jak na scope tej apki). Problem pojawił się jednak już w momencie definiowania tych obiektów. W Encji Result
posiadającej relacje z pozostałymi encjami IDE nie może ziamportować reszty klas, gdyż właśnie mają ustawiony dostęp prywatny.
Chciałem zrobić to tak, by każda z tych encji była pozamykana w osobnym pakiecie, wraz ze Springowym @Repository
, publicznym DTO, które to już będzie sobie latało po warstwie biznesowej apki i jakąś publiczną fasadą pełniącą rolę abstrakcji nad repository. W głowie mi to wyglądało jak złota inżynieria, ale w trakcie implementacji czuję, że wpadam w jakąś głupią pułapkę zastawioną przez samego siebie.
Wobec tego proszę Was o jakąś pomoc w nakierowaniu mnie na właściwy tor, gdyż czuję że albo jestem bliski przeinżynierowania tego, albo w ogóle źle o tym myśle. Najłatwiej byłoby mi zaprojektować tą apke w klasycznym studenckim podziale warstwowym, ze względu na wspomnianą wczesniej jedną funkcjonalność, ale chce się trochę od tego odzwyczaić, z racji że studia skończone :D i trzeba przyjąć inną architekturę