Junior — Middle
Kuidas erineb Presenter'i roll Interactor'i rollist rakenduste arhitektuuris?
sobes.tech AI
Vastus AI-lt
Arhitektuuris, näiteks VIPERis, Presenter ja Interactor rollid on erinevad vastutusalad:
-
Presenter vastutab andmete ettevalmistamise eest vaate jaoks. Ta saab andmed Interactorilt, vormindab need ja edastab vaatele kuvamiseks. Samuti käsitleb ta kasutaja tegevusi vaates ja saadab need Interactorile.
-
Interactor sisaldab rakenduse äriloogikat. Ta vastutab operatsioonide teostamise, andmetega töötamise, võrguteenuste, andmebaaside jms eest. Interactor ei tea midagi UI-st, tema ülesandeks on töödelda Presenterilt saabunud päringuid ja tagastada tulemust.
Näide:
- Kasutaja vajutab nuppu vaates.
- Vaade teavitab Presenterit.
- Presenter kutsub Interactorit, et teostada äriloogikat.
- Interactor täidab ülesande ja tagastab tulemuse Presenterile.
- Presenter vormindab andmed ja uuendab vaadet.
Nii toimib Presenter vahemikuna UI ja äriloogika vahel, samas kui Interactor teostab ise äriloogikat.