Qué es MVC y cómo utilizarlo en ASP.NET Core

Estrada Web Group
Estrada Web Group
Qué es MVC y cómo utilizarlo en ASP.NET Core

En las aplicaciones web ASP.NET Core tambien podemos usar el popular patrón de diseño MVC. El patrón de diseño MVC significa Modelo-Vista-Controlador (Model-View-Controller). En este tutorial, aprenderás qué es MVC y en el tutorial posterior, aprenderas cómo usar el patrón de diseño MVC en ASP.NET Core.

Introducción al patrón de diseño MVC en ASP.NET Core

El patrón de diseño MVC, es un patrón de diseño popular que se utiliza en la capa de presentación. ASP.NET Core MVC sigue el patrón de diseño MVC.

MVC es un medio poderoso y elegante para separar preocupaciones dentro de una aplicación. La artquitectura de MVC divide la aplicación en tres capas separadas y distintas. La capa de modelo, la capa de vista y la capa de controlador.

Cada una de estas capas tiene un conjunto muy específico de responsabilidad. La capa Modelo (Model) contiene los datos. La vista (View) representa el modelo para el usuario y maneja las interacciones del usuario. La Vista pasa las interacciones del usuario al Controlador (Controller), que a su vez construye el modelo y actualiza la Vista.


aspnet core mvc

 

Separación de intereses

La filosofía de Separación de preocupaciones establece que cada componente de la aplicación es responsable de una sola cosa. No deben depender de ningún otro componente tanto como sea posible. En otras palabras, los componentes deben acoplarse libremente unos con otros. La aplicación construida usando tal concepto es fácilmente comprobable, mantenible y extensible.

El patrón MVC sigue la filosofía de separación de preocupaciones. Cada una de las tres capas de MVC puede desarrollarse y probarse de forma independiente y combinarse para crear una aplicación robusta.

El punto importante a tener en cuenta aquí es que el patrón MVC es un patrón de capa de presentación. Solo se ocupa del cómo y cuándo se presentan los datos al Usuario. Debes usar este patrón a lo largo de la capa de acceso a datos y la capa de negocio, etc. para crear una aplicación web completa.

Model

El modelo representa los datos que deben mostrarse al usuario y alguna lógica asociada. Es un objeto o simplemente, otra clase de C# con propiedades y métodos.

El modelo no depende ni debería depender del Controlador o de la Vista. La única responsabilidad del modelo es mantener los datos. La clase modelo es idealmente reutilizable.

View

La vista es una representación visual del modelo. Es responsabilidad de la vista tomar el modelo del controlador, renderizarlo y presentarlo al usuario. La vista se engancha a un modelo y accede a sus datos y se los muestra al usuario. Puedes actualizar el modelo y enviarlo de vuelta al controlador para actualizar la base de datos. La vista nunca accederá a la capa de negocio ni a la capa de datos.

Una vista tiene las siguientes responsabilidades:

  • Responsable de interactuar con el Usuario
  • Renderizar el modelo al usuario
  • Aceptar la interacción del usuario y pasarla al controlador
  • Consta de páginas HTML estándar/Javascript, imágenes y CSS
  • Deberías poder renderizar Json, XML y tipos de devolución personalizados

Controller

El controlador recibe la solicitud. Luego construye el modelo y selecciona la vista para mostrarlo. Se encuentra entre la vista y el modelo. Puedes pensar en ello como un pegamento que une el Modelo a la View. Controla el flujo de actividad.

El controlador no debe convertirse en un basurero para tu código. Siempre debes delegar el trabajo a la capa de servicio (por ejemplo, la capa de datos para obtener los datos, la capa de negocio o empresarial para ejecutar la lógica de negocio, etc.) para construir y obtener el modelo. Entonces, el modelo debe inyectarse en la vista para representar la vista.

El controlador tiene las siguientes responsabilidades:

  • Procesar las solicitudes del usuario.
  • Luego, el controlador pasa la solicitud a la capa de servicio correspondiente y obtiene el modelo.
  • Pasa el modelo a la vista para renderizarlo.
  • Pasa las validaciones y los errores de vuelta a la Vista, esto en caso de que se encuentren errores.
  • El controlador nunca accede a la capa de datos.

El controlador actúa tanto en el modelo como en la vista. Controla el flujo de datos en el objeto modelo y actualiza la vista cada vez que cambian los datos. Mantiene la vista y el modelo separados.

Cómo funciona el patrón MVC en ASP.NET Core

Analizamos los diversos componentes del patrón MVC. Ahora veamos cómo funcionan todas las piezas juntas.

Patrón MVC en ASP.NET Core

ASPNET Core MVC

La solicitud comienza cuando el usuario hace clic en un botón, en un enlace o ingresa la URL en el navegador. Por ejemplo, la siguiente solicitud procedente del usuario

https://estradawebgroup.com/Post/Tutorial-para-aprender-ASP-NET-Core/20522

La solicitud anterior llega al Middleware de MVC después de pasar por la canalización de solicitudes. Analizamos Middleware & Request Pipeline aquí.

El Middleware de MVC inspecciona la URL y decide qué controlador invocar. El proceso de asignación de la solicitud al controlador se denomina enrutamiento.

MVC Middleware invoca el controlador y pasa la solicitud del usuario.

El Controlador ahora mira la solicitud del usuario y decide qué hacer con ella. La Solicitud puede ser para insertar un comentario al artículo del blog o consultar el artículo. El Controlador construye el modelo apropiado. Llamará a la capa de servicio para completar su tarea.

El controlador pasa el modelo a la vista correcta y pasa el control a la vista para generar la respuesta.

La Vista generará la respuesta adecuada. La respuesta podría ser un HTML, XML, Json o un archivo para descargar. Luego lo devuelve al usuario.

El ciclo de solicitud se completa y la aplicación espera que el usuario interactue de nuevo, lo que iniciará un nuevo ciclo.

Resumen

En este tutorial, aprendimos qué es el patrón de diseño MVC y cómo aplica a las aplicaciones ASP.NET Core MVC. Analizamos los tres componentes importantes de MVC, es decir, Modelo, Vista y Controlador. Analizamos el rol y las responsabilidades de cada capa. Finalmente, aprendimos cómo funciona el patrón MVC en las aplicaciones ASP.NET Core MVC.

En el próximo tutorial, construyamos una aplicación MVC simple desde cero y agreguemos Modelo, Vista y Controlador y veamos cómo funcionan los tres juntos.

Compartir artículo:

Más artículos geniales

Avances del desarrollo del proyecto de sistema de inventarios

Avances del desarrollo del proyecto de sistema de inventarios

Si quieres aprender a programar un sistema de inventarios desde cero este es el lugar correcto. Aquí puedes descargar los avances del proyecto y te describo las funcionalidades desarrolladas

Ver artículo completo
Estructura de un proyecto de ASP.NET Core

Estructura de un proyecto de ASP.NET Core

En este capítulo, aprenderás cómo Visual Studio organiza la solución ASP.NET Core o la estructura del proyecto. Creamos el proyecto ASP.NET Core en el último tutorial.

Ver artículo completo

Manténgase actualizado

Obtenga excelente contenido en su bandeja de entrada todas las semanas.
Solo contenido excelente, no compartimos su correo electrónico con terceros.
Subir al inicio de la pantalla