Sobes.tech
Junior — Middle

Ako prebieha výmena informácií medzi modelom, pohľadom a kontrolérom v architektúre MVC?

sobes.tech AI

Odpoveď od AI

V architektúre MVC (Model-View-Controller) dochádza k rozdeleniu zodpovedností medzi tromi komponentami:

  • Model (Model) — zodpovedá za údaje a obchodnú logiku.
  • View (Zobrazenie) — zodpovedá za zobrazovanie údajov používateľovi.
  • Controller (Ovládač) — spracováva vstup používateľa a komunikuje s modelom a zobrazením.

Výmena informácií prebieha nasledovne:

  1. Používateľ interaguje s View (napríklad stlačením tlačidla).
  2. View odosiela udalosť Controller.
  3. Controller spracováva udalosť, prípadne mení údaje v Modeli.
  4. Model aktualizuje svoj stav.
  5. Model informuje View o zmenách (napríklad cez pozorovateľský vzor alebo priame volanie).
  6. View aktualizuje zobrazenie na základe nových údajov z Modelu.

Príklad v PHP (zjednodušený):

// Ovládač
class UserController {
    private $model;
    private $view;

    public function __construct($model, $view) {
        $this->model = $model;
        $this->view = $view;
    }

    public function updateUserName($name) {
        $this->model->setName($name);
        $this->view->render($this->model->getData());
    }
}

Týmto spôsobom funguje riadič ako sprostredkovateľ medzi modelom a zobrazením, zabezpečujúc tok dát a udalostí.