Middle
K čemu slouží čistá architektura při vývoji aplikací?
sobes.tech AI
Odpověď od AI
Čistá architektura (Clean Architecture) se používá k dosažení následujících cílů:
- Nezávislost na rámcích: Obchodní logika aplikace nezávisí na konkrétních UI rámcích, databázích nebo externích službách. To umožňuje snadnou výměnu těchto komponent bez významných změn v jádru aplikace.
- Testovatelnost: Díky oddělení obchodní logiky od detailů implementace (UI, databáze) je jednodušší izolovat a testovat jednotkové a integrační testy.
- Nezávislost na UI: Zobrazení dat a interakce s uživatelem jsou odděleny od logiky použití (Use Cases), což usnadňuje přizpůsobení aplikace různým platformám (Mobil, Web, Desktop) nebo změnám v UI.
- Nezávislost na databázi: Logika ukládání a načítání dat je oddělena od obchodních pravidel, což usnadňuje změnu databáze nebo použití různých úložišť pro různé části aplikace.
- Nezávislost na externích agentech: Interakce s externími systémy (API, třetí strany) je enkapsulována v oddělených vrstvách, což minimalizuje jejich vliv na obchodní logiku.
Struktura obvykle zahrnuje vrstvy:
- Entity: Obsahují obchodní pravidla aplikace. Nejvnitřnější vrstva.
- Use Cases (Interactors): Popisují konkrétní interakce uživatele s aplikací. Obsahují specifickou obchodní logiku.
- Rozhraní adaptérů (Presenters, Controllery, Gateways): Převádějí data mezi Use Cases a externími agenty (UI, DB, API).
- Frameworky & Ovladače: Vnější vrstva obsahující detaily implementace (UI frameworky, databáze, webové služby atd.).
Princip závislostí: Závislosti vždy směřují dovnitř, od vnějších vrstev k vnitřním.