Link copiato negli appunti
Come per altre tipologie di software, la progettazione e la gestione delle applicazioni Web è resa più agevole seguendo dei paradigmi predefiniti. Il più diffuso è il pattern MVC (Model View Controller) che divide l'intero progetto in 3 livelli:
- Il Modello, ovvero cosa vogliamo rappresentare e che possono essere modificati dall'utente. Ad esempio, in un'applicazione per la gestione di una catena di negozi avremo dei record che rappresentano i prodotti in vendita, altri per i punti vendita, altri per il personale, ecc. Se l'applicazione utilizza un database, la progettazione del modello è guidata dalle tabelle del database.
- Le Viste, ovvero in che modo vogliamo rappresentare il modello, o di parte di esso. Il record di un prodotto può essere rappresentato tramite una form, ma potremmo anche essere interessati a rappresentare solo l'andamento del costo del prodotto tramite un grafico.
- Il Controllo, ovvero le possibilità di interazione. Se l'utente sceglie di visualizzare solamente i prodotti di un determinato prezzo, ci sarà la logica che andrà a selezionare dalla tabella dei prodotti quelli scelti e li passerà alle Viste. Viceversa, potremmo voler conoscere i dati completi di un prodotto (quantità in magazzino, prezzo all'ingrosso, prezzo al pubblico e così via) cliccando sul suo nome su una lista.
Appare chiaro come sia quest'ultimo componente quello più significativo nello sviluppo di una Web application. Il Controller è il motore dell'applicazione e l'averlo separato dalla visualizzazione dei dati e dal modello ha reso la sua progettazione più semplice permettendo di concentrare gli sforzi sulla logica del funzionamento.