MVC (modelo-visca-controlador) es una filosofía de trabajo en arquitectura del software para la construcción de aplicaciones informáticas. Busca principalmente mantener por separado la lógica del negocio, los datos y la presentación de los mismos al usuario, de forma que grandes cambios en cualquiera de estas áreas afecte en la menor medida posible al resto de ámbitos.
Es uno de los patrones más usados en desarrollo de software, demostrando su validez en todo tipo de aplicaciones desde que comenzó a emplearse en la década de 1980. Pero es en las últimas décadas, con la popularización de los framework MVC, cuando su uso se ha vuelto masivo.
El patrón MVC se basa en tres grandes componentes distintos:
- Modelo: es una representación de los datos y la información del sistema. Gestiona el acceso a la información y la lógica o el tratamiento a realizar tanto al actualizar los mismos, como al borrarlos, crearlos, o cualquier otra operación sobre los datos.
- Vista: se encarga de presentar y mostrar la información (el modelo) al usuario. Tiene que ver con la interfaz de usuario.
- Controlador: es la parte encargada de resolver eventos e interacciones del usuario con la aplicación. Se encarga de enviar peticiones al modelo (por ejemplo, para crear un nuevo registro o consultar alguna información), recoger el resultado y enviarlo a la vista adecuada.
Frameworks MVC
El patrón MVC se usa en gran medida en el desarrollo de aplicaciones web. En este ámbito han surgido en la última década una gran cantidad de frameworks para diversos lenguajes de programación, basados en el paradigma MVC.
En la Wikipedia puedes ampliar información, junto a una lista de los principales frameworks de diversos lenguajes.