Model-View-Controller (
MVC, talvolta tradotto in italiano Modello-Vista-Controllore) è un
pattern architetturale molto diffuso nello sviluppo di interfacce grafiche di sistemi software
object-oriented. Originariamente impiegato dal linguaggio
Smalltalk, il pattern è stato esplicitamente o implicitamente sposato da numerose tecnologie moderne, come framework basati su
PHP (Symfony, Zend Framework), su
Ruby (Ruby on Rails), su
Python (Django), su
Java (Swing, JSF e Struts), su
Objective C o su
.NET. A causa della crescente diffusione di tecnologie basate su MVC nel contesto di
framework o piattaforma middleware per applicazioni Web, l'espressione framework MVC o sistema MVC sta entrando nell'uso anche per indicare specificamente questa categoria di sistemi (che comprende per esempio Ruby on Rails, Struts, Spring, Tapestry e Catalyst).
Struttura
Il pattern è basato sulla separazione dei compiti fra i componenti software che interpretano tre ruoli principali:
- il model fornisce i metodi per accedere ai dati utili all'applicazione
- il view visualizza i dati contenuti nel model e si occupa dell'interazione con utenti e agenti
- 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 controller e del model, e l'interfaccia utente a carico del view.
Nessun commento:
Posta un commento