Sobes.tech
Junior — Middle

Jak probíhá výměna informací mezi modelem, pohledem a kontrolerem v architektuře MVC?

sobes.tech AI

Odpověď od AI

V architektuře MVC (Model-View-Controller) dochází k rozdělení odpovědností mezi třemi komponentami:

  • Model (Model) — odpovídá za data a obchodní logiku.
  • View (Zobrazení) — odpovídá za zobrazování dat uživateli.
  • Controller (Řadič) — zpracovává vstup uživatele a komunikuje s modelem a zobrazením.

Výměna informací probíhá následovně:

  1. Uživatel interaguje s View (například stisknutím tlačítka).
  2. View předá událost Controlleru.
  3. Controller zpracuje událost, případně změní data v Modelu.
  4. Model aktualizuje svůj stav.
  5. Model informuje View o změnách (například přes pozorovatel nebo přímý volání).
  6. View aktualizuje zobrazení na základě nových dat z Modelu.

Příklad v PHP (zjednodušený):

// Controller
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 způsobem funguje řadič jako prostředník mezi modelem a zobrazením, zajišťující tok dat a událostí.