sabato 14 maggio 2011

Il pattern MVC

Il pattern MVC è un architectural pattern il cui scopo è quello di separare la rappresentazione del modello di dominio (model) dall'interfaccia utente (view) e dal controllo dell'interazione uomo-macchina (controller). Il pattern MVC è utilizzato ad esempio da Joomla e da molti altri framework come Ruby on Rails, Apache Struts etc...

Il pattern MVC

Il pattern MVC è basato sulla suddivisione dei compiti fra i componenti che interpretano i tre ruoli principali:

  1. il model fornisce i metodi per accedere ai dati utili dell'applicazione e agli algoritmi del programma.
  2. la view visualizza i dati elaborati dal model e li mostra agli utenti.
  3. il controller riceve i comandi dell'utente (in genere attraverso la view) e li attua modificando lo stato degli altri due componenti: in particolare recupera i dati dal model e li restituisce alla view stessa.

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 della view.