Modelo-Vista-Controlador es un patrón de diseño.
¿Y qué es un patrón de diseño?
Pues básicamente es una forma conocida de resolver un problema conocido. Es decir, hay problemas que se repiten una y otra vez en el desarrollo de software y para esos problemas hay soluciones identificadas.
Un patrón de diseño es esto. Un problema conocido con una solución aceptada y reconocida.
¿Y cuál es el problema reconocido en el patrón MVC?
El problema es que tenemos 3 entidades que están muy relacionadas pero que queremos poder mantener un poco separadas e independientes.
Esas tres entidades son precísamente el Modelo, la Vista y el Controlador.
El ejemplo clásico de MVC es el de un elemento como el que hay para cambiar la hora en el ordenador. Con un poco de imaginación...
[ 18:43:32 ][--]
Tenemos aquí, la variable que guarda la hora (no se ve), la hora que vemos y los botones para cambiar la hora.
Los tres elementos, como ves, están muy relacionados. Pero el patrón precisamente consiste en separar esos tres elementos para que se puedan tratar más independientemente.
En este caso el Modelo es la hora en sí. La variable interna del sistema que guarda ese dato. Ese es el modelo.
Lo que vemos nosotros en el cuadro es la Vista. Es la representación del valor de la variable.
El Controlador son esos botoncitos que nos permiten aumentar o disminuir (atrasar o adelantar) la hora.
¿Pero... qué es? ¿Un lenguaje, una plataforma, una aplicación?
Pues no. Un patrón es simplemente una forma de hacer algo, una forma de resolver un problema determinado.