Cvičenie 8 - Návrhové vzory II

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.

Úlohy

Úloha 8.1

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.

Úloha 8.2

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.

Úloha 8.3

Pre nasledujúce rozhranie Bod naprogramujte vzor Decorator, ktorý ku každej súradnici pripočíta súradnicu stredu. Stred je zadaný ako bod.

Úloha 8.4

Pre nasledujúcu triedu GrafickeOkno naprogramujte vzor Command, ktorý umožní posunúť, minimalizovať a zavrieť okno.

Úloha 8.5

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.

Úloha 8.6

Pre príklad 8.1 vytvorte vzor Visitor, ktorý umožní spracovať oddelenia a zamestnancov.

Úloha 8.7

Pre nasledujúcu triedu Siet naprogramujte vzor Publish/Subscribe, ktorý notifikuje pozorovateľov vždy keď sa do siete pripojí, alebo odpojí nové zariadenie.