Middle
Milleks kasutatakse puhast arhitektuuri rakenduste arendamisel?
sobes.tech AI
Vastus AI-lt
Puhas arhitektuur (Clean Architecture) kasutatakse järgmiste eesmärkide saavutamiseks:
- 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.
- Testitavus: Tänu äriloogika eraldamisele realiseerimise detailidest (UI, andmebaas), on üksuse- ja integratsiooniloogika lihtsam eraldada ja testida.
- 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.
- 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.
- 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.