Il pattern MVC (Model-View-Controller) si è affermato negli ultimi anni come il paradigma di sviluppo di applicazioni web più utilizzato. L'idea di base è quella di separare il codice delle applicazioni tra almeno questi tre layer, facilmente individuabili in ogni applicazione web:
Questo schema è tratto dal sito del framework Symfony, sul quale si trova il seguente brano, che mi sembra spieghi in maniera semplice e completa le idee che stanno alla base del pattern MVC
Attenzione: il framework Symfony utilizza il pattern MVC e ne dà una propria implementazione, quello che preme qui è la comprensione delle idee, non tanto la specifica implementazione che ogni framework dà di esse.