Mortal Kombat! ASP.NET MVC vs ASP.NET Webforms – ASP.NET MVC is amazing
Introducción a ASP.NET MVC
-
Upload
sebastian-rocco -
Category
Software
-
view
53 -
download
0
Transcript of Introducción a ASP.NET MVC
Instructor: Ing. Rocco, SebastiánMail: [email protected]: www.movizen.comBlog: www.smrocco.com
Introducción a ASP.NET MVC
Agenda
• Arquitectura WEB – Funcionamiento HTTP
• Arquitectura ASP.NET
• Introducción a ASP.NET MVC
– ¿Qué es?
– Patrón MVC
– Ventajas / Desventajas
– ¿Cómo trabaja?
Arquitectura WEB - HTTP
Arquitectura ASP.NET
Resumiendo…
• SoC (Separation of Concerns)– TDD por default– Mantenibilidad
• Url y HTML mas limpio– SEO y REST friendly
• /Usuarios/Buscar/Nombre– CSS Friendly
• <html> <div> <label> <span>• Modelo de programación mas performante. No hay ViewState. No hay modelo de eventos.
¿Qué es ASP.NET MVC?
• Un framework para Web Development.– Más control sobre el HTML.
– Más Web-Frendly.
– Más testeable.
• Pensado para no ocular la naturaleza de la arquitectura Web.
• No viewstate, no web-controls, no codebehind. Solo HTML.
• Esta construido sobre en ASP.NET.
Patrón MVC
• Modelo – Vista - Controlador
• Es un patrón de arquitectura de software.
– Vista: Representación visual de la información del modelo.
– Modelo: Representa uno o más objetos con un estado determinado.
– Controlador: Es lo que puede alterar el estado del modelo.
Patrón MVC
Model
ControllerView
Patrón MVC - Modelo
• Los objetos del dominio.
• Implementan la lógica del dominio de la aplicación.
• Suelen leer y persistir estados en una RDBMS.
• En sistemas grandes pueden tener una capa de acceso a datos (DAL) separada.
Patrón MVC - Vista
• “Arma” la interfaz de usuario.
• Los datos que muestra son estados del objeto que están gestionando.
• Utiliza controles comunes de la GUI en cuestión (cajas de texto, dropdownlists, checkboxes).
• La GUI se construye con elementos propios de la tecnología que se utilice:– Cliente liviano (por lo general, HTML o formularios
XML).
– Cliente pesado (dependerá de la plataforma, etc.).
Patrón MVC - Controlador
• Maneja la interacción con el usuario y en función de eso:
– Envía mensajes al modelo para modificar su estado (es decir, cambia el valor de sus miembros, etc.).
– Selecciona en último término el tipo de vista que exhibirá al cliente en la GUI.
¿Qué ofrece ASP.NET MVC?
• SoC (Separation of Concerns).– TDD por default.– Mantenibilidad.
• Url y HTML mas limpio.– SEO y REST friendly.
• /Usuarios/Buscar/Nombre.– CSS Friendly.
• <html> <div> <label> <span>• Modelo de programación mas performante.
– No hay ViewState.– No hay modelo de eventos.
¿Cómo trabaja ASP.NET MVC?
1. Petición HTTP
2. Parámetros de ejecución
Mo
del
3. Colección datos resultado
View
3. C
ole
cció
n
dat
os
resu
ltad
o
4.C
on
tenid
o d
e
interfaz u
suario
5. Contenido HTTP
CLIENTE
SERVIDOR
Los componentes M, V y C están del lado servidor.
¿Cómo trabaja ASP.NET MVC?
Navego a http://.../Productos/ListarSe determina la
ruta
El controllerProductos es
creado
Un método Listar del controller es
invocado
Se ejecuta la logicadel controller
Se dibuja la vista pasándole la
ViewData
Se dibujan Urlsque apuntan a
otras acciones de otros controllers
Enrutamiento ASP.NET MVC
• MVC “mapea” URLs a las clases que son los controladores.
• Las URLs entrantes no se refieren a recursos físicos en el servidor.
• ASP.NET tiene esta nueva característica denominada “enrutamiento”.
• Se crea un conjunto de reglas de enrutamiento en el archivo Global.asax.
• El enrutamiento también está disponible para WebForms regulares de ASP.NET.
Enrutamiento ASP.NET MVC
• Las URL como ésta no son amigables para los motores de búsqueda:– http://www.mysite.com/products.aspx?category=software
• En cambio, éstas si lo son:– http://www.mysite.com/products/software
• El enrutamiento en ASP.NET permite que la aplicación acepte requerimientos que no se mapean a archivos físicos.
• Se usa una URL “semántica” que tiene sentido para el usuario y es amigable para los optimizadores de motores de búsqueda.
¿Preguntas?
Muchas Gracias!
Datos de Contacto
Instructor: Ing. Rocco, Sebastián
Mail: [email protected]
Web: www.movizen.com
Blog: www.smrocco.com