todomir
Post on 18-Dec-2014
322 Views
Preview:
DESCRIPTION
TRANSCRIPT
Conceptos y Técnicas MVC
En ASP.Net MVC 3 y Visual Studio 2010
Hola “Todomir”• Multiples Todo List
• REST (Representation State Transfer) [Routes]
• Model vs. ViewModel
• Controlador Flaco y Modelo Gordo
• Progressive Enhacement
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
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}
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}
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…?
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.
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
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
Código: View Model• Creación de TodoTaskViewModel
• Implementación en TodoTask.Create
• Eliminación de ViewBag
Código: Modelo Flaco• Mover AllTags al modelo
• Creación de PopularTags
Código: Progressive Enhacement
• Agregando clickable tags• Borrando usando Ajax• Marcando usando Ajax
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
top related