ExtraGeek

La Tecnologia vista da me

MVC: Model-View-Controller

Ormai è diventata quotidiana abitudine, per chifa il programmatore, quella di imbattersi nella sigla MVC.

Ma cosa significa e cosa vuol indicare in particolare ?
MVC viene definito un "pattern architetturale" ... mmm ... questo non ci aiuta molto, anzi. Cerchiamo di espandere questa definizione. Un "design pattern" (che è più o meno la traduzione di pattern architetturale) in ambito ingegneristico-informatico può essere definito come la soluzione generale ad un problema ricorrente. In pratica è un modello che può essere applicato a problemi che solitamente si presentano sempre uguali durante lo sviluppo di un software. Spero che adesso sia un po' più chiaro.

Ma torniamo alla nostra sigla iniziale: MVC. Questo acronimo sta per "Model-View-Controller" e indica appunto un particolare pattern utilizzato nello sviluppo di interfacce grafiche in sistemi object-oriented. Questo modello è basato sulla separazione dei compiti a carico dei componenti software che interpretano i tre ruoli principali descritti dal modello stesso.

  1. Model sarà il componente a cui verrà demandato il compito dell'accesso ai dati utili all'applicazione;
  2. View sarà il componente che viaualizzerà i dati nel model e che si farà carico dell'interazione con l'utente;
  3. Controller sarà il componente che riceve i comandi andando a modificare lo stato degli altri due componenti;
Questo a grandi linea è ciò che significa MVC, entrando poi ancora di più nello specifico su internet si possono trovare guide focalizzate su framework dei vari linguaggi orientati agli oggetti oggi più diffusi che applicano questo tipo di modello (fra questi JAVA, .NET, Ruby, PHP, Python ecc.).