Witam,
Jestem w trakcie realizacji swojego pierwszego "nie banalnego" projektu (praca inżynierska) i mam parę problemów architektonicznych. Serwer jest wielowarstwowy i zastosowano wzorzec MVC.
-
Optional -> kiedy wypakować obiekt?, kiedy wyrzucić wyjątek jeśli obiekt jest null?, czy może w logice biznesowej należy cały czas przekazywać sobie Optional'e i dopiero w klasie Controller go wypakować? Widziałem różne projekty na githubie i były różne konwencje stosowania Optional'i.
Ja w swoim projekcie gdy pobieram Optional'a z bazy od razu go weryfikuje czy nie jest null`em i wyrzucam wyjątek. -
Wyjątki -> znajdując adnotacje @ResponseStatus przestałem używać try catch`e, ponieważ jeśli wyjątek zostanie wyrzucony to serwer zareaguje mi tak jak chce, gdyż @ResponseStatus umożliwia mi ustalenie HttpStatus oraz reason, który wyświetli się w przeglądarce. Jestem na 100% pewien, że porzucenie try catch'ów było bardzo złym krokiem, także dlatego potrzebuje wyjaśnienia.
To chyba już wszystko :)
Jestem w miarę początkującym javowcem i nie mam jeszcze komercyjnego doświadczenia :)
Tak przy okazji projekt jest na githubie: https://github.com/coverdm/TeamWorkSupportSystem
Chciałbym również, aby ktoś "zerknął" na projekt i go skrytykował. Tworzę aplikacje podobną do JIRY (nie jest to skończony projekt). Clienta jeszcze nie zacząłem pisać. Aktualnie czytam clean code i zasady Jeff'a Bay'a które pomagają mi zarządzać kodem. Ostatnio bardzo dużo czasu siedzę przy zasadach SOLID (najwięcej przy SRP) i zależy mi na tworzeniu oprogramowania zgodnie z zasadami.