Que es y como funciona el desarrollo web MVC

Aprende que es y como funciona el desarrollo Modelo Vista Controlador MVC

Programacion web Diagramas de programación

 

 En los días que corren, todo desarrollador web que se precie debe conocer las siglas MVC. Unas siglas que Vamos a ver que son estas siglas y por qué son tan importantes.

¿Qué es MVC?

MVC son las siglas de modelo–vista–controlador, un patrón de arquitectura de software, que separa el desarrollo de aplicaciones web en tres partes: interfaz, el acceso a la información y el tratamiento de los eventos.

¿Qué significa que es un patrón? Pues digamos que es un estándar de desarrollo para que todos los que desarrollamos web nos entendamos, siguiendo una lógica común. Siguiendo este patrón tendremos unas directrices para saber con rapidez dónde va cada parte de nuestro código.

¿Para qué sirve modelo-vista-controlador?

Seguir el desarrollo mediante el patrón MVC nos aporta grandes ventajas, entre ellas evitar reinventar la rueda en cada proyecto nuevo, y tener unas pautas claras de cómo y dónde debemos programar cada parte del funcionamiento de nuestra web.

Las ventajas son muchas, pero entre ellas destacar las siguientes:

  • MVC es una forma de desarrollar clara, con unas consignas sencillas de entender y en las que un iniciado se puede iniciar muy rápido.
  • Simplifica la planificación de soluciones y se adapta a las diferentes posibilidades de nuestros desarrollos. 
  • Permite un mejor mantenimiento de los desarrollos. Pudiendo pasar de un programador a otro, que conozca este patrón, sin problemas de adaptación.
  • Mejora el tratamiento de la seguridad y la solución de errores al tener claras las entradas y salidas de datos.

Las tres partes de MVC

Que es el modelo de MVC

El modelo es todo aquel código de nuestra aplicación que interactúa con la base de datos o que trata la persistencia de la información. La lectura, inserción, actualización y borrado de datos son tareas comunes de los modelos.

Estos ficheros de código están compuestos normalmente Clases de POO (Programación Orientada a Objetos), pero también pueden ser funciones o código secuencial (muy raro en la mayoría de frameworks). Además, es común tenerlos organizados en una carpeta concreta (modelos o models) y en la mayoría de frameworks php tendrán además en su nombre la palabra Model. Ejemplo: usuarioModel.php

Esta parte del código entraría dentro del desarrollo Backend.

Las vistas de MVC

Las vistas son ficheros que contienen el código destinado a producir una sálida gráfica del contenido. Son la parte que se encarga del montaje de los datos para su visualización en el navegador. Por lo tanto, la mayor parte del contenido de estos ficheros serán etiquetas HTML.

Las vistas suelen  utilizar el contenido procedente de los modelos para mostrar páginas dinámicas. En estos ficheros debemos ceñirnos estrictamente a imprimir datos o recorrer estructuras de ellos como arrays, pudiendo utilizar bucles o condicionales.

Las vistas suelen utilizar lenguajes de motores de plantillas, lenguajes específicos desarrollados para dar mayor claridad a la combinación de datos procedentes del backend de la aplicación (normalmente php).  Estos lenguajes, además, obligan al desarrollador a mantener estrictamente la separación correcta de las partes de la aplicación estipuladas en MVC. Un ejemplo de motor de plantillas es twig.

Al igual que los modelos se guardan normalmente en una carpeta con denominación concreta, las vistas suelen estar almacenadas en un directorio con el nombre vistas o views.

Las vistas de MVC son parte del desarrollo web front-end

Los controladores o controllers

Como su nombre indica el controlador/es es la parte web dónde debe ir el código que recibe y trata las peticiones del cliente. Según las acciones del usuario en la web, el controlador solicitará al modelo una u otra información y mostrará una vista u otra.

Los controladores suelen situarse en una carpeta Controllers o Controladores, también es común que los nombres de los ficheros tengan la palabra Controller y que su código esté desarrollado utilizando Clases de POO (Programación orientada a objetos).

El controlador MVC forma parte del desarrollo back-end. Su lenguaje es enteramente lenguaje de servidor, PHP.

Ejemplo de MVC

 Con la siguiente imagen seguro que lo ves todo mucho más claro. Un esquema de MVC donde puedes seguir el orden de interacción entre las partes del patrón.

esquema patrón de arquitectura de software

Sobre el autor

Javier Gómez Redactor en Srcodigofuente.es

Javier Gómez

Ingeniero técnico en informática de gestión. Desarrollador web freelance y profesor de desarrollo web a partes iguales. Testarudo autodidacta, creativo, perfeccionista y alma libre.

Cargando comentarios

Utilizamos "cookies" para información estadística. Si continúas navegando aceptas su uso.