Introducción a ASP.NET MVC

19
Instructor: Ing. Rocco, Sebastián Mail: [email protected] Web: www.movizen.com Blog: www.smrocco.com Introducción a ASP.NET MVC

Transcript of Introducción a ASP.NET MVC

Page 1: 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

Page 2: 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?

Page 3: Introducción a ASP.NET MVC

Arquitectura WEB - HTTP

Page 4: Introducción a ASP.NET MVC

Arquitectura ASP.NET

Page 5: Introducción a ASP.NET MVC

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.

Page 6: Introducción a ASP.NET MVC

¿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.

Page 7: Introducción a ASP.NET MVC

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.

Page 8: Introducción a ASP.NET MVC

Patrón MVC

Model

ControllerView

Page 9: Introducción a ASP.NET MVC

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.

Page 10: Introducción a ASP.NET MVC

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.).

Page 11: Introducción a ASP.NET MVC

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.

Page 12: Introducción a ASP.NET MVC

¿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.

Page 13: Introducción a ASP.NET MVC

¿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.

Page 14: Introducción a ASP.NET MVC

¿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

Page 15: Introducción a ASP.NET MVC

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.

Page 16: Introducción a ASP.NET MVC

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.

Page 17: Introducción a ASP.NET MVC

¿Preguntas?

Page 18: Introducción a ASP.NET MVC

Muchas Gracias!

Page 19: Introducción a ASP.NET MVC

Datos de Contacto

Instructor: Ing. Rocco, Sebastián

Mail: [email protected]

Web: www.movizen.com

Blog: www.smrocco.com