Vianoce v ITnetwork sú tu! Dobí si teraz kredity a získaj až 80 % extra kreditov na e-learningové kurzy ZADARMO. Zisti viac.
Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.

Facade (fasáda)

Návrhový vzor Facade (fasáda) sa používa na vytvorenie jednotného rozhrania pre celú logickú skupinu tried, ktoré sa tak združia do subsystému.

Motivácia

Veľakrát v našej aplikácii pracujeme s niekoľkými rozhraniami rôznych tried. To môže byť často neprehľadné, najmä ak sú rozhrania tried zložitá. Ak spolu triedy logicky súvisí, môžeme ich združiť do subsystému pomocou fasády (Facade). Získame tak jednotné rozhranie pre funkcionalitu, ktorú nám subsystém poskytuje.

Vzor

Fasáda (Facade) je pomerne jednoduchý vzor, ktorý sa skladá z jednej triedy, ktorá fasádu tvorí. Tá je napojená na ďalšiu triedy, s ktorými pracuje. Zvonku je však vidieť len fasáda (od toho názov), a tá zastupuje rozhranie pre celý subsystém. Celá zložitá štruktúra tried je v pozadí.

Návrhový vzor Facade / fasáda - GOF - Vzory štruktúry

Zníži sa tým počet tried, s ktorými komunikujeme. Subsystém sa lepšie používa aj testuje. Jedná sa teda opäť o prostredníka a je tu určitá podobnosť so vzorom Adapter (Wrapper). My však obaľujeme rovno niekoľko tried do jedného logického subsystému.

Príkladom by mohla byť fasáda pre prácu s PC na úrovni hardvéru. Združovala by triedu čo umožňuje počítač uspať, reštartovať alebo vypnúť. Ďalej triedu čo by upravovala jas monitora a ďalšie, čo by čítala teploty procesora a disku. Fasáda by zastrešila všetky metódy do jedného rozhrania. Mohla by obsahovať aj len vybrané metódy pre náš účel.

Výhodou vzoru je aj vyriešenie závislostí jednotlivých komponentov v subsystému. Ak medzi nimi odovzdávame nejakú inštanciu, rieši sa to vnútri fasády.


 

Všetky články v sekcii
GOF - Vzory štruktúry
Článok pre vás napísal David Hartinger
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
David je zakladatelem ITnetwork a programování se profesionálně věnuje 15 let. Má rád Nirvanu, nemovitosti a svobodu podnikání.
Unicorn university David sa informačné technológie naučil na Unicorn University - prestížnej súkromnej vysokej škole IT a ekonómie.
Aktivity