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.

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

ktorá bola poda tohoto vzoru navrhnutá. Príkladom takejto inštancie je (v zvyajnom<br />

stave) napr. prezident krajiny, t.j. maximálne jedna osoba.<br />

Vzor Unikát sa používa najmä pri implementácii tried riadiacich objektov aplikácie,<br />

resp. objektov, ktoré budú v aplikácii jediné svojho druhu, iže každý takýto objekt bude<br />

jedinou inštanciou svojej triedy. Takmer každá aplikácia pracuje napr. s jedinou myšou,<br />

klávesnicou a pod., kde každé z týchto zariadení môže by reprezentované jedným objektom.<br />

Nehardvérovými príkladmi môže by napr. súbor denníka aplikácie – log, prípadne<br />

manažér okien aplikácie a pod. Použitie vzoru Unikát rieši aj problém s prístupom<br />

k takýmto objektom. Napomáha v jednoduchosti a možnosti globálneho prístupu<br />

k objektu vaka použitiu statických metód.<br />

Statické metódy triedy implementovanej na základe vzoru Unikát zabezpeujú aj vytváranie<br />

konkrétnych objektov (v skutonosti jediného objektu) tejto triedy. Tak trieda<br />

samotná zaisuje existenciu práve jednej svojej inštancie.<br />

Použitím Unikátu môžme napríklad zápis do denníku aplikácie realizova jednoducho<br />

vyžiadaním inštancie denníka a zápisom do nej. i ide o prvý zápis a treba inštanciu<br />

a popritom aj reálny súbor vytvori, vyhodnocuje samotná trieda a na základe toho vráti<br />

existujúcu alebo vytvorí novú inštanciu. Unikát je teda charakterizovaný:<br />

− najviac jednou inštanciou svojej triedy,<br />

− globálnym bodom prístupu k inštancii.<br />

1.1.2 Štruktúra<br />

Unikát je návrhový vzor, ktorý dáva požadované, pre charakteristické vlastnosti, konkrétnej<br />

triede, preto štrukturálne neovplyvuje a nezaha v sebe iné triedy, ale aplikuje sa<br />

iba na želanú triedu (resp. viaceré želané triedy v aplikácii).<br />

1.1.3 Súasti<br />

Obrázok 1-1. Unikát (Singleton) – štruktúra vzoru.<br />

Unikát (angl. Singleton) – samotná vzorová trieda reprezentujúca Unikát. Zabezpeuje<br />

všetku funkcionalitu s ohadom na vytváranie jedinej inštancie tejto triedy (seba samej)<br />

prostredníctvom svojej statickej metódy.<br />

1.1.4 Dôsledky<br />

Unikát je vhodné použi, ak:<br />

− vlastníctvo inštancie sa nedá rozumne prideli,<br />

− pomalá (neskorá) inicializácia nie je nežiaduca – keže sa inštancia vytvára až pri prvom<br />

vyžiadaní,<br />

− globálny prístup nie je inak poskytovaný.

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

Saved successfully!

Ooh no, something went wrong!