Академический Документы
Профессиональный Документы
Культура Документы
NET
Módulo II
Módulo 2 – Creación y configuración de modelos
Una actividad fundamental en el proceso de diseño de MVC es diseñar un modelo. Cada
clase modelo representa un tipo de objeto que su aplicación administra. No puede
planificar controladores y vistas hasta que comprenda la estructura y el diseño del
modelo.
Un modelo MVC es una colección de clases de .NET Framework. Cuando crea una clase
modelo, define las propiedades y los métodos que se adaptan al tipo de objeto que
describe la clase modelo. Puede describir estas propiedades en el código para que MVC
pueda determinar cómo representarlas en una página web y cómo validar la entrada del
usuario. Debe saber cómo crear y describir modelos, y cómo modificar la manera en que
MVC crea las instancias de clase de modelo cuando ejecuta su aplicación web.
2.2 Planeando Modelos
Los casos de uso, los escenarios de uso o las historias de usuario que recopiló durante la
fase de análisis del proyecto deberían permitirle determinar las clases modelo que
necesita crear. Cada clase de modelo tiene un rango de propiedades. Por ejemplo,
considere el siguiente ejemplo de caso de uso.
1. El usuario hace clic en el enlace “Agregar foto” en el menú principal del sitio.
2. Si el usuario es anónimo, se muestra la página de inicio de sesión y el usuario
proporciona las credenciales.
3. Si las credenciales son correctas, se muestra la vista “CreatePhoto”.
4. El usuario escribe un título.
5. El usuario especifica el archivo de la foto para subir.
6. El usuario escribe opcionalmente una descripción para la foto.
7. El usuario hace clic en el botón Cargar.
8. La aplicación web almacena la nueva foto y muestra la galería de fotos al usuario.
Este ejemplo incluye los siguientes objetos, cada uno de los cuales requiere una clase
modelo:
la contraseña.
Foto. La clase de modelo de foto debe incluir las propiedades Título y Descripción.
Otros casos de uso le ayudan de manera similar a agregar nuevas clases de modelo o
nuevas propiedades a las clases de modelo de usuario y foto.
Cuando utiliza Entity Framework en su aplicación web MVC, vincula tablas y vistas
con las clases modelo que ha planeado. No es necesario que escriba código SQL para
consultar o actualizar las tablas de la base de datos porque Entity Framework lo hace
por usted. Entity Framework está bien integrado con el lenguaje Language Integrated
Query (LINQ).
Sin embargo, para cada controlador puede haber muchas acciones: cada acción se
implementa como un método en el controlador y generalmente devuelve una vista. A
menudo se requieren acciones separadas para los verbos de solicitud GET y POST
HTTP. Al igual que en el diseño de un modelo, puede identificar las acciones para
escribir en cada controlador al examinar los casos de uso que recopiló durante el
análisis. Por ejemplo, considere el siguiente caso de uso:
1. El usuario hace clic en el enlace Agregar foto en el menú principal del sitio.
2. Si el usuario es anónimo, se muestra la página de inicio de sesión y el usuario
proporciona las credenciales.
3. Si las credenciales son correctas, se muestra la vista CreatePhoto.
4. El usuario escribe un título.
5. El usuario especifica el archivo de la foto para subir.
6. El usuario escribe opcionalmente una descripción para la foto.
7. El usuario hace clic en el botón Cargar.
8. La aplicación web almacena la nueva foto y muestra la galería de fotos al usuario.
Ya ha identificado las clases de modelos de fotos y usuarios en este caso de uso. Al
adherirse a la convención de MVC, debe crear un PhotoController y un UserController.
El caso de uso muestra que se necesitan las siguientes acciones para cada controlador.
Sin embargo, en algunos casos, es posible que desee aumentar la información en la clase
modelo con algunos valores adicionales. Por ejemplo, es posible que desee enviar un
título, que debe insertarse en el encabezado de la página, a la vista. Además, algunas
vistas no utilizan clases modelo. La página de inicio de un sitio web, por ejemplo, a
menudo no tiene una clase de modelo específica. Para ayudar en estas situaciones, puede
utilizar otros dos métodos para proporcionar datos adicionales: ViewBag y ViewData.
Cuando un usuario realiza una solicitud a una aplicación web MVC, un controlador
responde. A menudo, la acción del controlador crea una instancia de un objeto modelo,
por ejemplo, un Producto. El controlador puede obtener el Producto consultando la base
de datos, creando un nuevo Producto o realizando algún otro paso. Para mostrar el
Producto, el controlador crea una vista y le pasa el Producto. La vista crea una página
web insertando propiedades del Producto y, a veces, de otras fuentes, en el marcado
HTML. MVC envía la página web completa al navegador. Para crear vistas, debe
comprender cómo MVC interpreta el código que coloca en las vistas y cómo se crea una
página HTML completa. De forma predeterminada, el motor de vista de Razor realiza
esta interpretación, pero también puede usar otros motores de vista. Si se toma el
tiempo para comprender Razor, encontrará que es un excelente y versátil motor de
visualización que le otorga un gran grado de control sobre el HTML renderizado. Otros
motores de visualización tienen sintaxis muy diferentes, que puede preferir si ha
trabajado con versiones anteriores de ASP.NET u otras tecnologías web del lado del
servidor, como Ruby on Rails.