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

  1. Kasutaja suhtleb View-ga (näiteks vajutab nuppu).
  2. View saadab sündmuse Controller-le.
  3. Controller töötleb sündmuse, vajadusel muudab andmeid Model-s.
  4. Model uuendab oma olekut.
  5. Model teavitab View-d muudatustest (näiteks vaatleja mustri või otse kutsumise kaudu).
  6. 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.