Sobes.tech
Junior — Middle

V čom spočíva rozdiel medzi rolou Presenter a rolou Interactor v architektúre aplikácií?

sobes.tech AI

Odpoveď od AI

V architektúre aplikácií, napríklad v VIPER, majú role Presenter a Interactor rôzne zodpovednosti:

  • Presenter je zodpovedný za prípravu dát na zobrazenie vo View. Prijíma dáta od Interactor, formátuje ich a odovzdáva do View na zobrazenie. Rovnako spracováva akcie používateľa z View a odosiela ich Interactor.

  • Interactor obsahuje obchodnú logiku aplikácie. Je zodpovedný za vykonávanie operácií, prácu s dátami, volania sieťových služieb, databáz a pod. Interactor nič nevie o UI, jeho úlohou je spracovať požiadavky od Presenter a vrátiť výsledok.

Príklad:

  • Používateľ stlačí tlačidlo vo View.
  • View oznámi Presenterovi.
  • Presenter zavolá Interactor na vykonanie obchodnej logiky.
  • Interactor vykoná úlohu a vráti výsledok Presenterovi.
  • Presenter formátuje dáta a aktualizuje View.

Týmto spôsobom Presenter pôsobí ako sprostredkovateľ medzi UI a obchodnou logikou, zatiaľ čo Interactor realizuje samotnú obchodnú logiku.