Junior — Middle
Kuidas toimub teabevahetamine mudeli, vaate ja kontrolleri vahel MVC arhitektuuris?
sobes.tech AI
Vastus AI-lt
MVC (Model-View-Controller) arhitektuuris jaotab vastutuse kolme komponendi vahel:
- Model (Mudeli) — vastutab andmete ja äriloogika eest.
- View (Vaate) — vastutab andmete kuvamise eest kasutajale.
- Controller (Kontroller) — töötleb kasutaja sisendit ja suhtleb mudeli ning vaatega.
Infovahetus toimub järgmiselt:
- Kasutaja suhtleb View-ga (näiteks vajutab nuppu).
- View saadab sündmuse Controller-le.
- Controller töötleb sündmuse, vajadusel muudab andmeid Model-s.
- Model uuendab oma olekut.
- Model teavitab View-d muudatustest (näiteks vaatleja mustri või otse kutsumise kaudu).
- View uuendab kuvamist vastavalt uutele andmetele Model-st.
Näide PHP-s (lihtsustatud):
// Kontroller
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());
}
}
Sellisel viisil toimib kontroller vahendajana mudeli ja vaate vahel, tagades andmete ja sündmuste voo.