Sobes.tech
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:

  1. Korisnik interaguje sa View (npr. pritisne dugme).
  2. View šalje događaj Controller-u.
  3. Controller obrađuje događaj, eventualno menja podatke u Modelu.
  4. Model ažurira svoje stanje.
  5. Model obaveštava View o promenama (npr. putem obrasca posmatrača ili direktnog poziva).
  6. 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.