Saltar al contenido

Modelo Vista Controlador

El modelo vista controlador (MVC) es un patrón de diseño dentro de la arquitectura de software. Éste, se utiliza principalmente a la hora de diseñar interfaces de usuario.

El objetivo de este patrón de diseño, es separar el código de la aplicación en diferentes capas, de forma que cada una de ellas realice una tarea concreta.

¿Por qué usar el Modelo Vista Controlador?

Para entender el uso del modelo vista controlador, podemos destacar los siguientes ejemplos.

  • Antiguamente, cuando se creaba una página HTML con CSS, los dos lenguajes de marcas se encontraban juntos en todas las páginas. Por este motivo, si se necesitaba realizar cualquier modificación, era necesario modificar el código de todas las páginas. Con el tiempo se creó el lenguaje CSS, para separar la responsabilidad de aplicar el formato de una web.
  • Al escribir programas en lenguajes como PHP, cualquiera de nosotros comienza mezclando tanto el código PHP como el código HTML en el mismo archivo. Esto produce lo que se denomina el «Código Espagueti». Si algún día pretendemos cambiar el modo en cómo queremos que se muestre el contenido, estamos obligados a repasar todas y cada una de las páginas que tiene nuestro proyecto. Sería mucho más útil que el HTML estuviera separado del PHP.
  • Durante la manipulación de datos en una aplicación es posible que estemos accediendo a los mismos datos en lugares distintos. Si un día cambiamos los datos estamos obligados a cambiar, todos los lugares donde se consumían datos. Además, si tenemos el código de acceso a datos disperso por decenas de lugares, es posible que estemos repitiendo las mismas sentencias de acceso a esos datos y por tanto no estamos reutilizando código.

El modelo vista controlador.

Como comentamos antes, este patrón de arquitectura de software, se divide en varias capas.

Modelo.

Es la capa donde se trabaja con los datos, por tanto contendrá mecanismos para acceder a la información y también para actualizar su estado. Los datos los tendremos habitualmente en una base de datos, por lo que en los modelos tendremos todas las funciones que accederán a las tablas y harán los correspondientes selects, updates, inserts, etc.

Vistas.

Las vistas, como su nombre nos hace entender, contienen el código de nuestra aplicación que va a producir la visualización de las interfaces de usuario

Controladores.

Contiene el código necesario para responder a las acciones que se solicitan en la aplicación, como visualizar un elemento, realizar una compra, una búsqueda de información, etc.

En realidad es una capa que sirve de enlace entre las vistas y los modelos, respondiendo a los mecanismos que puedan requerirse para implementar las necesidades de nuestra aplicación.

DESCARGAR EJEMPLO