Search
Tento domácí úkol se týká témat: UML, návrhový vzor Facade, Strategy a správný návrh aplikace..
Máte zadanou aplikaci, která dodržuje vícevrstevnatou architekturu. Je poměrně jednoduchá viz UML diagram níže:
Z diagramu je vidět, že se nejedná o čisté řešení, ale aplikace je připravena na migraci do microservice architektury. Proto entity neobsahuji vztahy na ostatni entity (s vyjimkou Address). Jedná se tedy o rozdělení na 3 domény a to Book, Author, Library.
Zlepšete agregaci dat. Jedná se o velmi částý problém na projektech. Vidíte situaci na projektu, že některé metody jsou rozsáhlé, nepřehledné. Je zde hodně logiky na jednom místě. Špatně se debuguje. Rozšíření je hodně náročné. Je potřeba takové metody dekomponovat. Zde se velmi hodí použít zavedená pravidla.
Využijte facade design pattern pro oddělení logiky kódu od spojování dat do složitější entity.
Metoda má vrátit objekt BookDto
1/ Využijte pattern Facade pro skládání dat pro složitější objekty. Jedná se o metodu getByBookId v BookFacadeImpl. Tato metoda ma vrátit knížku (objekt BookDto) - obsahuje název knížky,knihovny a autora
Většinou se tento pattern využívá pro redukci if příkazů. V kódu často bývá spoustu if příkazů, které při zpětné úpravě kódu budou dělat problémy (většinou je potřeba je všechny projít a upravit). Programátor bude muset upravovat podmínky na více místech v aplikaci. - a to rozhodně nechceme.
V naši aplikaci tento pattern využijeme pro jednotné místo pro funkcionalitu.
Použijeme strategy na updateBook v service. Budou existovat 2 strategie:
Odevzdávají se soubory:
Malá rada na závěr: