Cieľom ôsmeho cvičenia je precvičiť si použitie štrukturálnych a behaviorálnych návrhových vzorov. Názvy a typ premenných a metód sú zapísané v UML notácii.
Vytvorte kompozíciu objektov (vzor Composite), ktorá reprezentuje organizáciu, oddelenia a zamestnancov. Organizácia je zložená z oddelení a každé oddelenie môže mať pododdelenia. Zamestnanci sú priradení priamo oddeleniam.
Pre nasledujúce rozhrania navrhnite vzor Facade tak, aby ste poskytli iba dve metódy zapis(subor: String, data: String, format: String): void a citaj(subor: String, format: String): String.
Pre nasledujúce rozhranie Bod naprogramujte vzor Decorator, ktorý ku každej súradnici pripočíta súradnicu stredu. Stred je zadaný ako bod.
Pre nasledujúcu triedu GrafickeOkno naprogramujte vzor Command, ktorý umožní posunúť, minimalizovať a zavrieť okno.
Naprogramujte Iterator pre nasledujúcu triedu GrafickyObjekt, ktorý bude iterovať body objektu. Vytvorte triedu Program s metódou main v ktorej vytvorte nový grafický objekt a vypíšte pomocou cyklu for jeho body.
Pre príklad 8.1 vytvorte vzor Visitor, ktorý umožní spracovať oddelenia a zamestnancov.
Pre nasledujúcu triedu Siet naprogramujte vzor Publish/Subscribe, ktorý notifikuje pozorovateľov vždy keď sa do siete pripojí, alebo odpojí nové zariadenie.