Junior — Middle
Jak odbywa się wymiana informacji między modelem, widokiem a kontrolerem w architekturze MVC?
sobes.tech AI
Odpowiedź od AI
W architekturze MVC (Model-View-Controller) dochodzi do podziału odpowiedzialności między trzema komponentami:
- Model (Model) — odpowiada za dane i logikę biznesową.
- View (Widok) — odpowiada za wyświetlanie danych użytkownikowi.
- Controller (Kontroler) — obsługuje wejście użytkownika i współpracuje z modelem i widokiem.
Wymiana informacji przebiega w następujący sposób:
- Użytkownik wchodzi w interakcję z View (np. naciska przycisk).
- View przekazuje zdarzenie do Controller.
- Controller obsługuje zdarzenie, ewentualnie zmienia dane w Model.
- Model aktualizuje swój stan.
- Model powiadamia View o zmianach (np. przez wzorzec obserwatora lub bezpośredni wywołanie).
- View aktualizuje wyświetlanie na podstawie nowych danych z Model.
Przykład w PHP (uproszczony):
// 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());
}
}
W ten sposób kontroler działa jako pośrednik między modelem a widokiem, zapewniając przepływ danych i zdarzeń.