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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

1<br />

NÁVRHOVÉ VZORY<br />

Nikoleta Habudová, Ivan Kišac, Tomáš Kuzár,<br />

Pavol Mederly, Marián Šimko, Jozef Tvarožek<br />

Návrhové vzory sú významným pojmom softvérového inžinierstva, ktorý so sebou prináša<br />

objektovo-orientovaná komunita. Návrhový vzor predstavuje abstraktné riešenie problému<br />

softvérového návrhu. Prvá zmienka o návrhových vzoroch sa objavila v práci Christophera<br />

Alexandra, ale taktiež pochádza z úspešného vzoru Model-Pohad-Ovláda (angl.<br />

Model-View-Controller, MVC), ktorý sa využil v jazyku Smalltalk-80 pre návrh grafického<br />

rozhrania (angl. Grafical User Interface,GUI). Dnes existuje niekoko kategórií návrhových<br />

vzorov naprie mnohých technických a netechnických disciplín.<br />

Hoci vzory sa v iných odboroch používajú už stovky rokov, v rámci vedy<br />

o poítaoch sa im venuje pozornos iba v poslednom desaroí. V roku 1987 Cunningham<br />

a Beck použili nápad Christophera Alexandra a vyvinuli malý vzorový objektovoorientovaný<br />

programovací jazyk pre Smalltalk-80. Neskôr iní autori postupne zhromaž-<br />

ovali a katalogizovali narastajúci zoznam návrhových vzorov. Nakoniec v roku 1995<br />

skupina autorov známa pod názvom Gang of Four (GoF: Gamma, Helm, Johnson<br />

a Vlissides) publikovala svoju knihu návrhových vzorov.<br />

Typy vzorov<br />

Navrhovanie systémov je vemi nároný problém. Možno ho zjednoduši znovupoužitím<br />

existujúcich návrhov. Pri existujúcich návrhoch treba ma k dispozícii nielen opis, ktorý<br />

uruje „o“ sa navrhuje, ale aj „preo“. Práve to zdôvodnenie návrhu je rozhodujúce, i<br />

daný návrh je aplikovatený resp. prispôsobitený. Existuje niekoko spôsobov lenenia<br />

vzorov. Jednou z možností je klasifikácia poda Copliena na:<br />

− Generatívne – špecifikovaním softvérovej architektúry pomáhajú navrhova a budova<br />

systém. Sú normatívne a aktívne. Majú pozitívny vplyv na štruktúru systému, ktorý<br />

sa buduje.<br />

− Negeneratívne – opisné a pasívne, zabudované v systéme, nemusí by za nimi žiadna<br />

logika.<br />

alšia možnos lenenia vzorov je založená na úrovni abstrakcie. Riehle a Züllighoven<br />

(1996) navrhujú tri typy softvérových vzorov:<br />

3

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

Saved successfully!

Ooh no, something went wrong!