Sobes.tech
Junior — Middle

V čem spočívá rozdíl mezi rolí Presenter a rolí Interactor v architektuře aplikací?

sobes.tech AI

Odpověď od AI

V architektuře aplikací, například v VIPER, mají role Presenter a Interactor různé odpovědnosti:

  • Presenter je odpovědný za přípravu dat pro zobrazení ve View. Přijímá data od Interactoru, formátuje je a předává je do View k zobrazení. Také zpracovává uživatelské akce z View a předává je Interactoru.

  • Interactor obsahuje obchodní logiku aplikace. Je odpovědný za provádění operací, práci s daty, volání síťových služeb, databází atd. Interactor neví nic o UI, jeho úkolem je zpracovat požadavky od Presenter a vrátit výsledek.

Příklad:

  • Uživatel stiskne tlačítko ve View.
  • View oznámí Presenterovi.
  • Presenter zavolá Interactor pro provedení obchodní logiky.
  • Interactor vykoná úkol a vrátí výsledek Presenterovi.
  • Presenter formátuje data a aktualizuje View.

Tímto způsobem Presenter působí jako prostředník mezi UI a obchodní logikou, zatímco Interactor realizuje samotnou obchodní logiku.