Model-view-controller: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
|||
Riga 5:
==Struttura==
Il pattern è basato sulla [[separazione dei compiti]] fra i [[componente software|componenti software]] che interpretano tre ruoli principali:
* il '''model''' contiene i dati e fornisce i [[metodo|metodi]] per accedervi;
* il '''view''' visualizza i dati contenuti nel model;
* il '''controller''' riceve i comandi dell'utente (in genere attraverso il view) e li attua modificando lo stato degli altri due componenti.
Questo schema, fra l'altro, implica anche la tradizionale separazione fra la logica applicativa (in questo contesto spesso chiamata "logica di business"), a carico del ''model'', e l'interfaccia utente, a carico del ''view'' e del ''controller''.
I dettagli delle interazioni fra questi tre oggetti software dipendono molto dal tipo di applicazione e dalla tecnologia usata (una web application, un middleware, un programma di produttività personale) e i tre oggetti principali hanno a loro volta una struttura complessa; quasi sempre il view e il controller ereditano il pattern [[Observer]] (cioè sono "anche" implementazioni di Observer) in modo da essere consapevoli di eventuali cambiamenti di stato del model. A volte, quando è necessario cambiare il comportamento standard dell'applicazione a seconda delle circostanze, il controller implementa anche il pattern [[Strategy]].▼
▲I dettagli delle interazioni fra questi tre oggetti software dipendono molto
==Schema di funzionamento==
|