Junior — Middle
Come avviene lo scambio di informazioni tra modello, vista e controller nell'architettura MVC?
sobes.tech AI
Risposta dell'AI
Nell'architettura MVC (Model-View-Controller) si realizza una suddivisione delle responsabilità tra tre componenti:
- Model (Modello) — responsabile dei dati e della logica di business.
- View (Vista) — responsabile della visualizzazione dei dati all'utente.
- Controller (Controllore) — gestisce l'input dell'utente e interagisce con il modello e la vista.
Lo scambio di informazioni avviene nel seguente modo:
- L'utente interagisce con la View (ad esempio, premendo un pulsante).
- La View invia l'evento al Controller.
- Il Controller gestisce l'evento, eventualmente modificando i dati nel Model.
- Il Model aggiorna il suo stato.
- Il Model notifica alla View le modifiche (ad esempio, tramite il pattern osservatore o chiamata diretta).
- La View aggiorna la visualizzazione sulla base dei nuovi dati del Model.
Esempio in PHP (semplificato):
// Controller
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());
}
}
In questo modo, il controller funge da intermediario tra il modello e la vista, assicurando il flusso di dati e eventi.