¿Qué es eso de Modelo-Vista-Controlador?

Modelo-Vista-Controlador es un patrón de arquitectura de software, que separa el diseño de la aplicación en 3 capas bien diferenciadas:

  • Los datos y su estructura (lo que se suele llamar la lógica de negocio)
  • La interfaz utilizada para presentar y recoger los datos del usuario
  • Los procedimientos que se encargan de gestionar y controlar los datos

De esta forma, se mejora el ciclo de vida del software, se facilita su mantenimiento, y se favorece la reutilización del código y la separación de conceptos. Partiendo de esta diferenciación, surgen los 3 conceptos mencionados:

  • El modelo, que incluye los datos y su estructura. Es independiente del controlador y la vista.
  • La vista, que es la que se utiliza para mostrar y capturar los datos del controlador, para que haga su trabajo.
  • El controlador, que incluye los procedimientos para trabajar con los datos del modelo. Reacciona a las peticiones de la vista, y crea el modelo adecuado.

Cada elemento debe mantener la mayor independencia posible con el resto, para que la modificación de uno no interfiera en los demás. 

Puedes obtener más información en el artículo Modelo-vista-controlador de Wikipedia.