Con cualquier cosa que construya, ya sea una casa o una computadora, hay una estructura subyacente que mantiene el proyecto organizado. Para una casa, esa estructura puede ser un plano, designando la organización de una cocina y unos cuantos dormitorios. Las aplicaciones web no son diferentes. Una estructura popular para aplicaciones web se llama MVC, o controlador de vista modelo. Utilizamos este modelo, o patrón arquitectónico, para organizar nuestro código en partes que tienen sus propias funciones.

MVC Es un patrón arquitectónico que divide una aplicación web en 3 componentes lógicos: modelo, vista y controlador. El modelo almacena y gestiona los datos de la aplicación, que pueden consistir en una base de datos o en algún otro archivo que contenga datos. La vista se refiere a la presentación de la aplicación frente al usuario; es la salida de la aplicación. La vista puede incluir archivos escritos en HTML, CSS y Javascript. El controlador es la lógica que conecta el modelo y la vista. Se encarga de mover la información entre el usuario y el modelo, así como de procesar la información dada. El controlador puede consistir en programas escritos en Python y/o SQL.

Por ejemplo, imagínese una aplicación que recibe una ubicación y da salida a los restaurantes cercanos. La vista tendría una interfaz que le pediría al usuario que introdujera una ubicación.

https://edutin-publico.s3.amazonaws.com/documents/documents/TNPrvtiHso/archivo.png

La ubicación se pasaría al controlador y el controlador usaría la ubicación para seleccionar la información deseada del modelo. En este caso, el modelo podría ser una base de datos que contenga una lista de restaurantes y sus direcciones. El controlador se encargaría de realizar los cálculos necesarios para decirle al modelo qué restaurantes quiere. Una vez que el controlador ha recuperado una lista de restaurantes cercanos del modelo, el controlador puede enviar esa información a la vista para presentarla al usuario.

¿Por qué MVC?

El MVC se utiliza popularmente en la industria debido a su encapsulación de diferentes partes de una aplicación web. Aunque el modelo, la vista y el controlador trabajan juntos, sus funciones son independientes entre sí. Por lo tanto, el modelo, la vista y el controlador se pueden desarrollar por separado y simultáneamente, haciendo que el MVC sea escalable y extensible. También permite la delegación de tareas entre un gran equipo de personas, lo que conduce a un proceso de desarrollo más rápido. Dentro de estos equipos, el modelo, la vista y el controlador pueden ser probados de forma independiente. Después de construir una aplicación web, MVC permite realizar actualizaciones sin necesidad de actualizar todas las partes de la aplicación; cualquier parte puede ser cambiada sin cambiar la otra, siempre y cuando las interacciones entre ellas sean las mismas. Esta compartimentación también permite la reutilización de código entre diferentes aplicaciones web.