Sobes.tech
Middle

Milleks kasutatakse puhast arhitektuuri rakenduste arendamisel?

sobes.tech AI

Vastus AI-lt

Puhas arhitektuur (Clean Architecture) kasutatakse järgmiste eesmärkide saavutamiseks:

  1. Sõltumatus raamistikest: Rakenduse äriloogika ei sõltu konkreetsetest UI raamistikest, andmebaasidest ega välisestest teenustest. See võimaldab neid komponente hõlpsasti asendada ilma oluliste muudatusteta rakenduse tuumas.
  2. Testitavus: Tänu äriloogika eraldamisele realiseerimise detailidest (UI, andmebaas), on üksuse- ja integratsiooniloogika lihtsam eraldada ja testida.
  3. Sõltumatus UI-st: Andmete esitlus ja kasutajaga suhtlemine on eraldatud kasutusjuhtidest (Use Cases), mis lihtsustab rakenduse kohandamist erinevatele platvormidele (Mobiil, Web, Desktop) või UI muudatustele.
  4. Sõltumatus andmebaasist: Andmete salvestamise ja saamise loogika on eraldatud ärireeglitest, mis võimaldab hõlpsasti muuta andmebaasi või kasutada erinevaid salvestuskohti erinevate rakenduse osade jaoks.
  5. Sõltumatus välisest agentidest: Suhtlus väliste süsteemidega (API, kolmanda osapoole teenused) on kapseldatud eraldi kihtidesse, mis minimeerib nende mõju äriloogikale.

Struktuur hõlmab tavaliselt kihte:

  • Entities: Sisaldab rakenduse ärireegleid. See on sisemine kiht.
  • Use Cases (Interactors): Kirjeldab kasutaja konkreetseid suhtlusi rakendusega. Sisaldab spetsiifilist rakenduse äriloogikat.
  • Interface Adapters (Presenters, Controllers, Gateways): Muudab andmeid Use Case'ide ja väliste agentide (UI, DB, API) vahel.
  • Frameworks & Drivers: Väliskiht, mis sisaldab realiseerimise detaile (UI raamistikud, andmebaasid, veebiteenused jms).

Sõltuvuspõhimõte: Sõltuvused on alati suunatud sissepoole, väliskihidelt sisemistele.