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