Que es el modelo vista controlador (MVC) y como funciona

Introducción

El modelo vista controlador (MVC) o Model View Controller (MVC) en ingles, es un patrón de arquitectura de software, que divide una aplicación en 3 componentes principales, que son el Modelo, la Vista y el Controlador, que pueden ser trabajados de manera independiente, haciendo que la aplicación sea mas fácil de desarrollar y mantener.

¿En que consiste el Modelo Vista Controlador?

Vamos a definir las partes en las que se divide el MVC:

  • Modelo: El modelo representa la estructura lógica de los datos en una aplicación de software. Este modelo de objetos no contiene información sobre la interfaz de usuario. Es un puente de comunicación entre la vista, el controlador y la base de datos.
  • Vista: La vista es la presentación al usuario de la información contenida en el modelo. Esto generalmente consiste en pantallas que contienen información del modelo. Los datos pueden mostrarse en campos, en ventanas de editor, en tablas, etc. Además, los datos pueden ser de solo lectura o pueden ser editables.
  • El Controlador: El Controlador acepta solicitudes que hace el cliente (usuario) a través del navegador, contacta al Modelo para cualquier dato que pueda necesitar, y luego toma la Vista adecuada para mostrarle esos datos a el usuario.

¿Como funciona el Modelo Vista Controlador MVC?

Diagrama modelo vista controlador mvc para un listado

Ejemplo: Diagrama modelo vista controlador (MVC) para un listado.

En esta imagen podemos ver como funciona el patrón MVC en una serie de pasos:

  1. El cliente (usuario) hace una petición al servidor.
  2. El controlador procesa la petición que hace el usuario y solicita los datos al modelo.
  3. El modelo se comunica con la base de datos y retorna la información.
  4. El modelo retorna los datos al controlador.
  5. El controlador retorna la vista al cliente con los datos solicitados.

Esta es una forma sencilla de entender como podemos poner a trabajar el Modelo, la Vista y el Controlador en conjunto. Aunque la serie de pasos puede variar dependiendo de las necesidades que se presenten en una aplicación. Por ejemplo, en una aplicación real, hay casos en los que solo necesitaras que el controlador retorne una vista sin necesidad de comunicarse con el Modelo.

¿Por qué es importante el modelo vista controlador?

MVC es muy importante, porque nos permite separar nuestra aplicación en 3 componentes principales que pueden ser trabajados de manera independiente. Por ejemplo, puedes trabajar en el modelo “X” mientras que un grupo de desarrolladores puede trabajar en la interfaz de usuario de ese modelo “X”. Obviamente tiene que haber alguna conexión, pero MVC hace que sea mucho más fácil separar las áreas de trabajo. Al separar la vista del modelo, se hace posible cambiar la forma en que se ve el modelo, e incluso tener múltiples vistas del modelo.

Debido a que la vista está separada del modelo, tiene que haber una manera de que la vista le diga al modelo que un usuario ha hecho cambios De manera similar, tiene que haber una manera para que el modelo diga que ha cambiado, y que la vista necesita actualizarse con la información más reciente. Porque hay una separación entre el modelo y la vista, con una forma bien definida de comunicación,esto permite vistas múltiples de los mismos datos subyacentes. Por ejemplo, supongamos que tiene una hoja de cálculo abierta para hacer algunos modelos de flujos de ingresos durante el próximo año. Además de la hoja de cálculo, también tienes abierto un gráfico mostrando los ingresos por mes y otro gráfico que muestra los ingresos acumulados durante el año. Como haces cambios en la hoja de cálculo (usando una vista y un controlador), estos cambios se van al modelo. Las vistas obtienen la nueva información y se muestran de manera apropiada. Así que, a medida que realiza cambios en la hoja de cálculo, los dos gráficos se actualizan automáticamente.

Referencias:

http://sdmeta.gforge.inria.fr/FreeBooks/ByExample/25%20-%20Chapter%2023%20-%20Model-View-Controller.pdf

https://blog.cloudboost.io/what-is-model-view-controller-124a9942246

Créditos de la portada a unsplash.com

Autor

Eury Rodríguez

Hola que tal , soy una persona apasionada con todo lo que tiene que ver con Internet y las nuevas tecnologías.

Artículos de interés

Comentarios