Vrstvená architektura aplikací: hierarchie podsložek a modely dat
Vrstvená architektura umožňuje strukturovat aplikace tak, že rozdělí funkce do izolovaných vrstev: vrstva fasády pro externí přístup, vrstva logiky pro obchodní logiku a vrstva perzistence pro ukládání dat. Každá vrstva se skládá z podsložek — podsložka fasády, podsložka logiky a podsložka přístupu k datům —, které zajišťují jednosměrné interakce a obousměrnou výměnu dat mezi modely.
Hlavní komponenty jednovrstvové aplikace
Jednovrstvová aplikace sjednocuje tři skupiny funkcí:
- Vrstvené funkce: soubor izolovaných vrstev s jednosměrnou interakcí mezi sousedními vrstvami a podsložkami.
- Průřezové funkce: společné mechanismy dostupné všem vrstvám, jako je logování nebo bezpečnost.
- Datový tok: operace pro přenos dat, včetně:
- Mapování dat pro převod mezi modely dat.
- Vazba dat pro propojení s uživatelským rozhraním.
- Serializace dat pro výměnu s externími systémy přes kanál přenosu dat.
Interakce vrstev je organizována hierarchicky: sousední vrstvy vyměňují data jednosměrně, modely dat obousměrně. Aplikace komunikuje s externími spotřebiteli (spotřebitelé/producenti dat) přes vstupní rozhraní aplikace a s externími zdroji dat (lokální/vzdálené) přes výstupní rozhraní aplikace.
Lokální zdroje dat: soubory, USB/COM/LPT porty. Vzdálené: databáze, FTP, LDAP, webové služby, zprostředkovatelé zpráv.
Struktura vrstvy a podsložek
Vrstva zahrnuje funkce a související modely dat. Podsložky:
- Podsložka fasády: API pro externí přístup (veřejné metody).
- Podsložka logiky: vnitřní logika vrstvy.
- Podsložka přístupu k datům: přístup k externím zdrojům.
Příklady interakcí:
- Vrstva fasády: obslužné rutiny událostí UI nebo endpointy.
- Vrstva logiky: koordinace obchodní logiky (logika aplikace).
- Vrstva perzistence: objekty přístupu k datům (DAO).
Podsložka logiky vrstvy fasády tvoří obsah UI (např. šablony zobrazení v ASP.NET MVC) a validátory (UniqueValueValidator s dotazem do DB přes podsložku přístupu k datům).
Podsložka logiky vrstvy logiky realizuje doménovou logiku, interaguje s perzistencí pro referenční data nebo v rekurzivních algoritmech.
Externí rozhraní a hranice aplikace
- Horní hranice aplikace: brána k externím spotřebitelům přes vstupní rozhraní (vizuální formuláře, serverové sokety, časovače).
- Dolní hranice aplikace: brána k zdrojům dat přes výstupní rozhraní (sokety, ovladače DB).
Přístup k datům z vrstev fasády/logiky:
- Přímý k lokálním zdrojům.
- Přes výstupní rozhraní k vzdáleným.
- Přes vrstvu perzistence k databázím.
Vrstva perzistence se zaměřuje na ukládání a zpracování perzistentních dat.
Příklady architektur
Strukturální schémata ukazují použití ve webových službách, prohlížeči reportů a ASP.NET MVC.
V prohlížeči reportů:
- Podsložka fasády: vizuální formulář s komponentou prohlížeče reportů.
- Podsložka logiky: generátor reportů se šablonami (šablony reportů), který využívá data z podsložky přístupu k datům.
- Podsložka přístupu k datům: dotazy k vrstvě perzistence pro data reportů.
Vícevrstvé architektury rozšiřují jednovrstvovou: každá vrstva je vrstvená aplikace, popisující Client-Server, řízené událostmi, potrubí a filtry, SOA, mikroslužby.
Co je důležité
- Rozdělení na vrstvy (fasáda, logika, perzistence) zajišťuje izolaci a škálovatelnost.
- Podsložky (fasáda, logika, přístup k datům) standardizují API a logiku.
- Jednosměrná interakce vrstev minimalizuje cykly závislostí.
- Datový tok (mapování, vazba, serializace) unifikuje přenos dat.
- Hranice aplikace (vstupní/výstupní rozhraní) jasně oddělují vnitřní a vnější kontext.
— Editorial Team
Zatím žádné komentáře.