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.

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

is very dense; it has many meanings captured in small space; and through this density, it becomes<br />

profound." Autor identifikuje dva spôsoby kompozície vzorov: zreazenie, v rámci ktorého<br />

sú vzory umiestnené vone veda seba a pevné spojenie, v rámci ktorého sa jednotlivé asti<br />

spolupracujúcich vzorov prekrývajú.<br />

Práca GoF [12] sa tiež zaoberá problematikou spolupráce návrhových vzorov. Katalogizovaný<br />

opis vzorov obsahuje sekciu „Príbuzné vzory“, ktorá informuje o možnosti<br />

použitia daného vzoru v spolupráci s iným. Môžeme to považova za základy interakcie<br />

medzi návrhovými vzormi, aj ke práca GoF neodpovedá na otázku, ako presne by jednotlivé<br />

vzory mali by spolu prepojené a ako by mali spolupracova. Pokusy<br />

o zodpovedanie podobných otázok môžeme nájs v prácach viacerých autorov.<br />

Všeobecne existujú dva hlavné prístupy ku kompozícii vzorov:<br />

− Kompozícia správania je založená na elementoch hrajúcich urité role v rôznych vzoroch.<br />

Prístup používa modely založené na roliach, ktoré zachytávajú statické a z asti<br />

aj dynamické aspekty vzorov v jednom diagrame. UML nepodporuje taký spôsob integrácie,<br />

o znamená menšiu podporu pre tento prístup. Tento spôsob kompozície<br />

vzorov bol použitý napr. v [17].<br />

− Štrukturálna kompozícia je založená na spojení vzorov poda ich diagramov tried.<br />

Tento prístup využíva UML diagramy, takže sa vyhýba problémom s podporou vyskytujúcou<br />

sa v predošlom prístupe. Na druhej strane majú diagramy tried menšiu<br />

expresivitu v porovnaní s diagramami založenými na roliach. Príkladom tohto spôsobu<br />

kompozície je práca [30].<br />

Nasledujúce kapitoly obsahujú podrobnejší opis vybraných prístupov ku kompozícii návrhových<br />

vzorov.<br />

5.3.1 Vzorovo orientovaná analýza a návrh<br />

Práca Vzorovo orientovaná analýza a návrh (Pattern Oriented Analysis and Design - PO-<br />

AD) [38] [39] predstavuje systematický prístup ku kompozícií návrhových vzorov. Vychádza<br />

pritom z myšlienky, že základnými stavebnými blokmi softvéru by mali by spolupracujúce<br />

inštancie návrhových vzory, ktoré dokážu poskytnú funkne overené riešenia. Aby<br />

sa zjednodušil proces vývoja obdobným spôsobom, práca POAD predstavuje metodológiu,<br />

ktorá vedie vývojárov od poiatoných analýz k optimalizovanému OO návrhu, ktorý<br />

je založený na použití kooperujúcich inštanciách návrhových vzorov.<br />

V rámci POAD sa pozeráme na návrhový vzor ako na komponent návrhu, ktorý je<br />

s ostatnými komponentmi i inými elementmi návrhu spojený pomocou rozhraní. Vzor<br />

má teda definované rozhrania, pomocou ktorých môže spolupracova s inými vzormi.<br />

Taký prístup so sebou prináša nasledujúce výhody:<br />

− skrytie detailov návrhových vzorov, ktoré nie sú relevantné vo vyššej úrovni abstrakcie,<br />

− odlíšenie tých astí návrhových vzorov, ktoré sú kúové pre kompozíciu,<br />

− flexibilita umožujúca aplikova rôzne implementácie vnútorných astí vzorov.<br />

Pre vizuálnu podporu metodológie, POAD definuje tri nové modely, ktoré sú používané<br />

pri kompozícii inštancií vzorov. Úlohou týchto modelov je sprehadni a uahi proces<br />

návrhu softvéru pozostávajúceho z komponentov. Problémom bežných UML modelov je

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

Saved successfully!

Ooh no, something went wrong!