Todomir
-
Upload
arturo-guzman -
Category
Technology
-
view
322 -
download
0
description
Transcript of Todomir
![Page 1: Todomir](https://reader036.fdocuments.mx/reader036/viewer/2022082502/5491ed21b47959f37e8b466a/html5/thumbnails/1.jpg)
Conceptos y Técnicas MVC
En ASP.Net MVC 3 y Visual Studio 2010
![Page 2: Todomir](https://reader036.fdocuments.mx/reader036/viewer/2022082502/5491ed21b47959f37e8b466a/html5/thumbnails/2.jpg)
Hola “Todomir”• Multiples Todo List
• REST (Representation State Transfer) [Routes]
• Model vs. ViewModel
• Controlador Flaco y Modelo Gordo
• Progressive Enhacement
![Page 3: Todomir](https://reader036.fdocuments.mx/reader036/viewer/2022082502/5491ed21b47959f37e8b466a/html5/thumbnails/3.jpg)
REST Hoy (SOP)• Representation State Transfer [Wikipedia]
• HTTP y XML o JSON
• Operaciones POST, GET, PUT y DELETE CRUD
• getUser() HTTP:get(/user/{id})
• addLocation() HTTP:post(/location)
• findUser() HTTP:get(/user/find)
• SOP sigue siendo recomendada para B2B o S2S
![Page 4: Todomir](https://reader036.fdocuments.mx/reader036/viewer/2022082502/5491ed21b47959f37e8b466a/html5/thumbnails/4.jpg)
Todomir: Acciones• TodoList
o Lista get /todolisto Detalles get /todolist/{id}o Crear
• Forma get /todolist/create• Guardar post /todolist/create
o Editar• Forma get /todolist/edit/{id}• Guardar post /todolist/edit/{id}
o Borrar• Confirmacion get /todolist/delete/{id}• Borrar post /todolist/delete/{id}
![Page 5: Todomir](https://reader036.fdocuments.mx/reader036/viewer/2022082502/5491ed21b47959f37e8b466a/html5/thumbnails/5.jpg)
Todomir: Acciones• TodoTask
o Lista get /todolist/{listId}/taskso Detalles get /todolist/{listId}/tasks/{id}o Crear
• Forma get /todolist/{listId}/tasks/create• Guardar post /todolist/{listId}/tasks/create
o Editar• Forma get /todolist/{listId}/tasks/edit/{id}• Guardar post /todolist/{listId}/tasks/edit/{id}
o Borrar• Confirmacion get /todolist/{listId}/tasks/delete/{id}• Borrar post /todolist/{listId}/tasks/delete/{id}
![Page 6: Todomir](https://reader036.fdocuments.mx/reader036/viewer/2022082502/5491ed21b47959f37e8b466a/html5/thumbnails/6.jpg)
Model vs. ViewModel• Ruby y PHP son los objetos del negocio
• .Net (Compiled), se puede manejar igual pero…
• Model es la logica de negocios, normalmente en
otro proyecto y accessible a traves de un servicio.
• ViewModel es un caballo de carga
• ViewBag para información extra… dinámico…?
![Page 7: Todomir](https://reader036.fdocuments.mx/reader036/viewer/2022082502/5491ed21b47959f37e8b466a/html5/thumbnails/7.jpg)
Controlador Flaco y Modelo Gordo
• Procesamiento de sus
propios datos.
• Entrega sus datos en
diferentes formas.
• Altamente reutilizable.
• Menor cantidad de
procesamiento de datos
posible.
• Principalmente lógica de
acuerdo a los
parámetros de la
petición.
• En general no es
reutilizable.
![Page 8: Todomir](https://reader036.fdocuments.mx/reader036/viewer/2022082502/5491ed21b47959f37e8b466a/html5/thumbnails/8.jpg)
Progressive Enhacement
• Primer paso es crear una versión funcional en la
mayor cantidad de plataformas
• Segundo paso es embellecerlo, o mejorar la
usabilidad para quienes poseen una mejor
plataforma.
• Personalmente lo recomiendo en el uso de
JavaScript
• Lo opuesto es Graceful Degradation
![Page 9: Todomir](https://reader036.fdocuments.mx/reader036/viewer/2022082502/5491ed21b47959f37e8b466a/html5/thumbnails/9.jpg)
Código: REST• Modificación de rutas
• Mejora de UI
• Contextualización de TodoTask.Index
• Contextualización de TodoTask.Create
• Agregar tags actuales en TodoTask.Create
![Page 10: Todomir](https://reader036.fdocuments.mx/reader036/viewer/2022082502/5491ed21b47959f37e8b466a/html5/thumbnails/10.jpg)
Código: View Model• Creación de TodoTaskViewModel
• Implementación en TodoTask.Create
• Eliminación de ViewBag
![Page 11: Todomir](https://reader036.fdocuments.mx/reader036/viewer/2022082502/5491ed21b47959f37e8b466a/html5/thumbnails/11.jpg)
Código: Modelo Flaco• Mover AllTags al modelo
• Creación de PopularTags
![Page 12: Todomir](https://reader036.fdocuments.mx/reader036/viewer/2022082502/5491ed21b47959f37e8b466a/html5/thumbnails/12.jpg)
Código: Progressive Enhacement
• Agregando clickable tags• Borrando usando Ajax• Marcando usando Ajax
![Page 13: Todomir](https://reader036.fdocuments.mx/reader036/viewer/2022082502/5491ed21b47959f37e8b466a/html5/thumbnails/13.jpg)
Minificar y Combinar• Paquete con Nuget
• http://luckyassetmanager.codeplex.com/
• http://rejuice.me/learn-more
• Código: https://github.com/arturoguzman/todomir• Presentación: http://slideshare.net/guzart/todomir