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.

Znovupoužitie návrhových vzorov na úrovni modelu 153<br />

dvoch vzorov nazýva hybridný vzor, z oho vyplýva aj pomenovanie prístupu. Vzory sú<br />

v tomto kontexte reprezentované pomocou trojice vlastností klasifikaných kritérií:<br />

Vzor [Aplikované na, Úel, Jedinený význam],<br />

kde jednotlivé kritéria majú nasledovný význam:<br />

− Aplikované na – reprezentuje entitu, na ktorú sa vzor aplikuje. Môže ma nasledovné<br />

kategórie: objekty (objects), rodiny objektov (object-families), prepojené rodiny objektov<br />

(related-object families).<br />

− Úel – reprezentuje úel aplikácie vzoru. Kategórie kritéria sú definované v [15]:<br />

funkcionalita (functionality), rozhranie (interface), stav (state), prístup (access), komunikácia<br />

(communication), uloženie (physicality), inštanciácia (instantiation).<br />

− Jedinený význam – poskytuje krátky verbálny opis jednoznaného správania, ktoré<br />

vzor poskytuje.<br />

Napríklad vzor Singleton je pomocou trojíc opísaný nasledovne:<br />

Singleton[objekty, inštanciácia, trieda potrebuje by inštanciovaná<br />

max. jednou inštanciou].<br />

Prístup definuje dva odlišné spôsoby interakcie, poda ktorých môžu by vzory hybridizované:<br />

Používa (Uses) a Kombinuje (Combines)<br />

Používa<br />

Vzor používa iný vzor na riešenie niektorého zo svojich podproblémov. Vzory môžu by<br />

hybridizované týmto spôsobom, ak je hodnota ich kritéria Úel rovnaká. Sú definované<br />

exaktné pravidlá urujúce za akých podmienok a ako môžu by vzory poda tohto kritéria<br />

hybridizované:<br />

− Vzor1[spojené rodiny objektov, ÚEL, A] používa Vzor2[objekt, ÚEL, B], ím vzniká nový<br />

vzor HybridnýVzor[spojené rodiny objektov, ÚEL, A + ΔB], kde ÚEL predstavuje<br />

spoloný úel pre oba vzory a A + ΔB predstavuje význam prvého vzoru doplnený<br />

o as významu druhého vzoru.<br />

− Vzor1[spojené rodiny objektov, ÚEL, A] používa Vzor2[rodiny objektov, ÚEL, B], ím<br />

vzniká nový vzor HybridnýVzor[spojené rodiny objektov, ÚEL, A + ΔB].<br />

− Vzor1[rodiny objektov, ÚEL, A] používa Vzor2[spojené rodiny objektov, ÚEL, B], ím<br />

vzniká nový vzor HybridnýVzor[rodiny objektov, ÚEL, A + ΔB].<br />

− Vzor1[rodiny objektov, ÚEL, A] používa Vzor2[rodiny objektov, ÚEL, B], ím vzniká<br />

nový vzor HybridnýVzor[rodiny objektov, ÚEL, A + ΔB].<br />

− Vzor1[objekty, ÚEL, A] používa Vzor2[objekty, ÚEL, B], ím vzniká nový vzor HybridnýVzor[objekt,<br />

ÚEL, A + ΔB].<br />

Príklad hybridného vzoru poda interakcie Používa je Prototype používajúci Singleton:<br />

Prototype [objekty, inštanciácia, klonovanie]<br />

používa<br />

Singleton[objekty, inštanciácia, trieda potrebuje by<br />

inštanciovaná max. jednou inštanciou]

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

Saved successfully!

Ooh no, something went wrong!