Sobes.tech
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ų:

  1. 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.
  2. Testavimas: Dėl verslo logikos atskyrimo nuo įgyvendinimo detalių (UI, duomenų bazės), vienetų ir integracijos logika yra lengviau izoliuojama ir testuojama.
  3. 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.
  4. 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.
  5. 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ų.