Junior — Middle
Kako se odvija razmena informacija između modela, prikaza i kontrolera u MVC arhitekturi?
sobes.tech АИ
Одговор од АИ
U arhitekturi MVC (Model-View-Controller) vrši se podela odgovornosti između tri komponente:
- Model (Model) — odgovoran za podatke i poslovnu logiku.
- View (Prikaz) — odgovoran za prikazivanje podataka korisniku.
- Controller (Kontroler) — obrađuje unos korisnika i komunicira sa modelom i prikazom.
Razmena informacija se dešava na sledeći način:
- Korisnik interaguje sa View (npr. pritisne dugme).
- View šalje događaj Controller-u.
- Controller obrađuje događaj, eventualno menja podatke u Modelu.
- Model ažurira svoje stanje.
- Model obaveštava View o promenama (npr. putem obrasca posmatrača ili direktnog poziva).
- View ažurira prikaz na osnovu novih podataka iz Modela.
Primer u PHP-u (pojednostavljeno):
// Kontroler
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());
}
}
Na ovaj način, kontroler služi kao posrednik između modela i prikaza, obezbeđujući tok podataka i događaja.