¿Descubre qué es el Modelo-Vista-Controlador (MVC)?

¿Qué es el MVC?

El Modelo Vista Controlador (Model- View-Controller) mejor conocido como MVC es un patrón de arquitectura de software que describe una manera de estructurar una aplicación y las responsabilidades y las interacciones de cada parte en esa estructura, separando en tres componentes distintos los datos de una aplicación, la interfaz de usuario y la lógica de negocio, cabe recordar que el MVC no es un patrón de diseño.

La idea detrás de MVC es simple, se deben tener las siguientes responsabilidades claramente separados en una aplicación.

MODELO

¿Pero que es el modelo? El modelo es la representación de la información y las normas que se aplican a los datos, que representan los objetos que utiliza una aplicación. Por lo tanto gestiona todos los accesos a dicha información, tanto las peticiones de acceso o manipulación de información que llega al “modelo”, estas peticiones llegan a través del “controlador”.

El modelo es el encargado de enviar a la “vista” aquella parte de la información que en cada momento se le solicita para que sea mostrada.

VISTA

¿Qué es la vista? La vista, como su nombre indica contienen el código de nuestra aplicación que generará la visualización de la aplicación, la vista ofrece diferentes maneras de presentar los datos en el modelo, se debe recordar que en la vista nada más tenemos los códigos HTML y PHP que nos permite mostrar la salida de la aplicación.

Además se debe tomar en cuenta que no puede haber más de una vista de una sola pieza de datos. Por ejemplo, dado un modelo que contiene artículos de archivo en una aplicación comercial, se podría tener una vista lista-stock.html que muestra un resumen de todos los artículos en stock y una detalle-producto.html que muestra el detalle de un solo artículo en la acción. Ambas vistas utilizan datos de un mismo modelo, pero se muestran de manera muy diferente al usuario.

CONTROLADOR

¿Qué es el controlador? El controlador contiene el código necesario para ejecutar las acciones que se solicitan en la aplicación, la función principal del controlador es exponer el modelo de datos y funciones de controlador a la vista.

Por lo general, los controladores son provocados por las interacciones del usuario, tales como hacer clic en un botón. Un manejador normalmente llama a través de una función al modelo apropiado para ejecutar la lógica de negocio real basado en los acontecimientos de la Vista.