Tak som to tam konecne nahral, sice 2 dni po deadline ale tak co narobim.
V prvom rade sorry za anglictinu, ale nazvy tried typu UzivatelController ma neznesitelne iritovali.
Uprimne velmi netusime ci to je dobre a ci sa to bude dat implementovat takto, ale vychadzali sme z analytickych modelov a snazili sme sa dodrzat MVC, aj ked si tymi Controllermi nie som isty (a interfacemi uz vobec, ked v nich je to iste co v Controlleroch), preto som ich uz k triedam cvicenia ani nedaval.
a narazili sme na par veci, neviem ci sme to zle pochopili jak tie diagramy celkovo funguju ale tak radsej napisem:
Model tried:
- na co nam je vediet vek uzivatela?
- neprihlaseny uzivatel je oddelena trieda? To sa mi velmi nezda, myslim ze by to mohlo mat spolocnu classu, takze som to zacal modelovat tak, ze User bol abstract class, lebo som nevedel na co nam je neprihlaseny uzivatel, prihlaseny uzivatel (Member) od neho dedi a od Membera dedi Admin. Nakoniec sme to teda prehodnotili a z Usera sme urobili normalnu classu, kde sa uchovava info o absolvovanych cviceniach. Neviem co viac by nas pri neprihlasenom uzivatelovi momentalne mohlo zaujiat.
- multiplicita cvicenia - typy by sa podla mna mohla upravit, aby sme mohli mat typ cvicenia ktory neobsahuje ziadne cvicenie (uz len pre to, ze na zaciatku vytvorime typy a potom do nich budeme nieco pridavat)
- velmi som nepohcopil jak bola myslena statistika cviceni a statistika uzivatela. modeloval som to tak, ze pri uzivatelovi si pocitam pocet absolvovanych cviceni a vytvaram potom triedy obsahujuce cvicenie, uzivatela a vysledok, z coho sa da vsetko dopocitat si myslim.
- nie som si isty ci by mala byt editace samostatna domena, z prednasok som toho velmi nevycital ale pripada mi to tak ze vsetko ostatne je nejaky objekt a editacia je akcia. preto by som tiez upravil vazbu prihlaseneho uzivatela na cvicenie a nie editaciu, co bude vyjadrovat ze je jeho autorom.
- neviem co budeme robit s adminom zatial, modelovali sme ho tak ze bude mat priradene nejake prava.
pri modele komponent:
znova, asi som nepochopil jak to funguje ten model, ale pripada mi to tak ze vsetko az na uzivatela bude reprezentovat nejaku stranku, controller bude vyvolavat akcie (zobrazenie cvicenia, zoznamu, uprava, zobrazenie metronomu, jeho ovladanie apod.) ale pri uzivatelovi velmi nechapem jak to funguje, tak prosim o vysvetlenie/objasnenie.