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:
- Používateľ interaguje s View (napríklad stlačením tlačidla).
- View odosiela udalosť Controller.
- Controller spracováva udalosť, prípadne mení údaje v Modeli.
- Model aktualizuje svoj stav.
- Model informuje View o zmenách (napríklad cez pozorovateľský vzor alebo priame volanie).
- 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í.