Cursos
Módulo
Introducción al desarrollo web de .NET con ASP.NET Core - Training
En este módulo, obtendrá información sobre el desarrollo web de .NET con ASP.NET Core, incluyendo qué es y cuándo usarlo.
Este explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
de Microsoft
Obtenga información sobre las diferencias entre la aplicación MVC de ASP.NET y las aplicaciones de ASP.NET Web Forms. Aprenda a decidir cuándo compilar una aplicación de MVC de ASP.NET.
El patrón arquitectónico de Modelo-Vista-Controlador (MVC) separa una aplicación en tres componentes principales: el modelo, la vista y el controlador. El marco de MVC de ASP.NET proporciona una alternativa al patrón de ASP.NET Web Forms para crear aplicaciones web basadas en MVC. El marco de ASP.NET MVC es un marco de presentación ligero y muy fácil de probar que (como las aplicaciones basadas en Web Forms) se integra con las características de ASP.NET existentes, tales como páginas maestras y la autenticación basada en pertenencia. El marco de MVC se define en el espacio de nombres de System.Web.Mvc y es una parte admitida fundamental del espacio de nombres de System.Web.
MVC es un modelo de diseño estándar muchos desarrolladores conocen. Algunos tipos de aplicaciones web saldrán beneficiadas del marco de MVC. Otros seguirán usando el patrón de aplicaciones tradicional de ASP.NET, que se basa en Web Forms y postbacks. Otros tipos de aplicaciones web combinarán los dos enfoques; ya que uno no excluye al otro.
El marco de MVC incluye los siguientes componentes:
Figura 01: Invocar una acción de controlador que espera un valor de parámetro (haga clic para ver la imagen a tamaño completo)
En las aplicaciones pequeñas, el modelo es a menudo una separación conceptual, en lugar de física. Por ejemplo, si la aplicación solo lee un conjunto de datos y lo envía a la vista, la aplicación no tiene una capa de modelo física ni las clases asociadas. En ese caso, el conjunto de datos asume el rol de un objeto modelo.
Vistas. Las vistas son los componentes que muestra la interfaz de usuario (IU) de la aplicación. Normalmente, esta interfaz de usuario se crea a partir de los datos del modelo. Un ejemplo sería una vista de edición de una tabla Productos que muestra cuadros de texto, listas desplegables y casillas basándose en el estado actual de un objeto Productos.
Controladores. Los controladores son los componentes que controlan la interacción del usuario, trabajan con el modelo y, en último término, seleccionan una vista para representar la interfaz de usuario. En una aplicación de MVC, la vista solo muestra información; el controlador controla y responde a la interacción y los datos que introducen los usuarios. Por ejemplo, el controlador administra los valores de la cadena de consulta y pasa estos valores al modelo, que a su vez los usa para consultar la base de datos.
El patrón de MVC le ayuda a crear aplicaciones que separan los diferentes aspectos de la aplicación (lógica de entrada, lógica empresarial y lógica de la interfaz de usuario), a la vez que proporciona un acoplamiento vago entre estos elementos. El patrón especifica en qué lugar de la aplicación se debería encontrar cada tipo de lógica. La lógica de la interfaz de usuario pertenece a la vista. La lógica de entrada pertenece al controlador. La lógica de negocios pertenece al modelo. Esta separación le ayuda a administrar la complejidad cuando se compila una aplicación, ya que le permite centrarse en un único aspecto de la implementación en cada momento. Por ejemplo, se puede centrar en la vista sin estar condicionado por la lógica empresarial.
Además de administrar la complejidad, el patrón de MVC hace que sea más fácil probar las aplicaciones que probar una aplicación web ASP.NET basada en Web Forms. Por ejemplo, en una aplicación web ASP.NET basada en Web Forms, se usa una clase única tanto para mostrar la salida como para responder a la entrada del usuario. La escritura de pruebas automatizadas para aplicaciones ASP.NET basadas en Web Forms puede ser una operación compleja, ya que para probar una página individual se deben crear instancias de la clase de página, todos sus controles secundarios y las clases dependientes adicionales de la aplicación. Dado que se crean instancias de tantas clases para ejecutar la página, puede ser difícil escribir pruebas que se centren exclusivamente en partes individuales de la aplicación. Por consiguiente, las pruebas para las aplicaciones ASP.NET basadas en Web Forms pueden ser más difíciles de implementar que las pruebas de una aplicación MVC. Es más, las pruebas en una aplicación ASP.NET basada en Web Forms requieren un servidor web. El marco de MVC desacopla los componentes y hace un uso intensivo de las interfaces, lo que permite probar los componentes individuales aislados del resto del marco.
El acoplamiento flexible entre los tres componentes principales de una aplicación MVC también favorece el desarrollo paralelo. Por ejemplo, un desarrollador de software puede trabajar en la vista, un segundo puede ocuparse de la lógica del controlador y un tercero se puede centrar en la lógica empresarial del modelo.
Debe considerar cuidadosamente si desea implementar una aplicación web mediante el marco de MVC de ASP.NET o el modelo de Web Forms de ASP.NET. El marco de MVC no reemplaza el modelo de Web Forms; puede usar cualquiera de los dos marcos para las aplicaciones web (si ya tiene aplicaciones basadas en Web Forms, estas seguirán funcionando exactamente igual que siempre).
Antes de decidir usar el marco de MVC o el modelo Web Forms para un sitio web concreto, sopese las ventajas de cada método.
El marco ASP.NET MVC ofrece las ventajas siguientes:
El marco basado en formularios Web Forms ofrece las ventajas siguientes:
El marco de MVC de ASP.NET ofrece las siguientes características:
Cursos
Módulo
Introducción al desarrollo web de .NET con ASP.NET Core - Training
En este módulo, obtendrá información sobre el desarrollo web de .NET con ASP.NET Core, incluyendo qué es y cuándo usarlo.