Middle
Kokia yra švarios architektūros paskirtis programų kūrime?
sobes.tech AI
Atsakymas iš AI
Švari architektūra (Clean Architecture) naudojama siekiant šių tikslų:
- Nepriklausomybė nuo karkasų: Programos verslo logika nepriklauso nuo konkrečių UI karkasų, duomenų bazių ar išorinių paslaugų. Tai leidžia lengvai keisti šias komponentes be reikšmingų pakeitimų programos branduolyje.
- Testavimas: Dėl verslo logikos atskyrimo nuo įgyvendinimo detalių (UI, duomenų bazės), vienetų ir integracijos logika yra lengviau izoliuojama ir testuojama.
- Nepriklausomybė nuo UI: Duomenų pateikimas ir sąveika su vartotoju yra atskirti nuo naudojimo logikos (Use Cases), kas palengvina programos pritaikymą skirtingoms platformoms (Mobilios, Web, Desktop) arba UI pakeitimams.
- Nepriklausomybė nuo duomenų bazės: Duomenų saugojimo ir gavimo logika yra atskirta nuo verslo taisyklių, kas leidžia lengvai keisti duomenų bazę arba naudoti skirtingas saugyklas skirtingoms programos dalims.
- Nepriklausomybė nuo išorinių agentų: Sąveika su išorinėmis sistemomis (API, trečiųjų šalių paslaugos) yra inkapsuliuota atskiruose sluoksniuose, kas minimalizuoja jų įtaką verslo logikai.
Struktūra dažnai apima sluoksnius:
- Entities: Apima programos verslo taisykles. Tai yra vidinis sluoksnis.
- Use Cases (Interactors): Apibūdina konkrečius vartotojo sąveikimus su programa. Apima specifinę programos verslo logiką.
- Interface Adapters (Presenters, Controllers, Gateways): Konvertuoja duomenis tarp Use Cases ir išorinių agentų (UI, DB, API).
- Frameworks & Drivers: Išorinis sluoksnis, kuriame yra įgyvendinimo detalės (UI karkasai, duomenų bazės, interneto paslaugos ir t.t.).
Priklausomybių principas: Priklausomybės visada kryptingos į vidų, nuo išorinių sluoksnių link vidinių.