04.11.2014 Views

elektronická verzia publikácie - FIIT STU - Slovenská technická ...

elektronická verzia publikácie - FIIT STU - Slovenská technická ...

elektronická verzia publikácie - FIIT STU - Slovenská technická ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

48 Štúdie vybraných tém programových a informaných systémov<br />

Ak potrebuje výsledky spracovania, je vhodné vytvorenie výsledku definova ako novú<br />

udalos. Synchrónne spracovanie udalostí možno využi len ak sa jedná o vnútorné udalosti,<br />

kde je zaruená odozva. Vyvolanie udalosti je teda podobné volaniu procedúry<br />

s niekokými rozdielmi – nemusí by známe kto obslúži udalos, štandardne neexistuje<br />

návrat z udalosti a vyvolanie udalosti nie je urené na lokálne spracovanie.<br />

2.2.2 Reakcia na udalosti<br />

Ke je potrebné reagova na vstupné udalosti, použije sa vzor Obaova alebo Zástupca.<br />

Dosiahne sa tak, že s vonkajším zdrojom udalostí môžeme pracova ako so zdrojom vnútorným.<br />

Súiastky, ktoré reagujú na vnútorné udalosti, sú potom vytvárané na základe<br />

návrhového vzoru Pozorovate (angl. Observer), ktorý je na obrázku 1-10 v kapitole 1.<br />

Zdroj udalostí je tu zobrazený ako pozorovatený subjekt.<br />

Každý pozorovate, ktorý chce prijíma udalos, sa zaregistruje u zodpovedajúceho<br />

subjektu volaním jeho metódy Pripoj. Subjekt pri zmene svojho stavu metódou<br />

Notifikuj volá metódu Aktualizuj každého zaregistrovaného pozorovatea. Pozorovate<br />

si následne vyžiada nový stav subjektu. Ke už nechce pozorovate prijíma alšie<br />

udalosti od tohto subjektu, odregistruje sa volaním metódy Odpoj.<br />

Sprehadnenie procesu posielania, rozdeovania a spracovania udalostí umožuje<br />

manažér udalostí, ktorého zapojenie do celého procesu je znázornené na obrázku 2-7.<br />

Prideuje<br />

Manažér udalostí<br />

Posiela<br />

Úloha A<br />

Spracúva<br />

Úloha B<br />

Vytvára udalos<br />

Obrázok 2-7. Zapojenie manažéra udalostí do procesu šírenia udalostí.<br />

Aj zdroj udalostí aj pozorovate sa registrujú v manažéri udalostí pre vybranú udalos.<br />

Manažér potom zabezpeuje prevzatie každej udalosti a tiež, aby sa každá udalos dostala<br />

ku každému zaregistrovanému pozorovateovi. V niektorých systémoch manažér posiela<br />

aj spätnú správu od pozorovatea ku zdroju, že pozorovate ukonil spracovanie udalosti.<br />

V takých systémoch je možné vytvori aj synchrónne spracovanie udalostí.<br />

Synchrónne spracovanie udalostí sa používa len vtedy, ke je potrebné spracova<br />

niektoré udalosti v presne urenom poradí. Na túto úlohu sa ale lepšie hodí vzor Postupnos<br />

(angl. Chain of Responsibility), preto sa synchrónne spracovanie udalostí využíva<br />

zriedkavo.<br />

2.2.3 Model spracovania udalostí<br />

Každý programovací jazyk alebo vývojový systém, ktorý podporuje spracovanie udalostí,<br />

špecifikuje aj spôsob opisu a šírenia udalostí – model spracovania udalostí. Každý model

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!