Agenda<br /><ul><li>Qué es MVC (orientado a web)
Ruby onRails
Introducción a Ruby
Scaffolding con Rails
Rails avanzado
ASP.net MVC3
Un vistazo rápido a Razor
Introducción al manejo de vistas
Scaffolding con MVC3
ASP.net avanzado</li></li></ul><li>¿Vale, pero qué vamos a hacer?<br /><ul><li>Crear un sistema de gestión de eventos</li>...
Fecha
Descripción
Capacidad
Asistentes (Personas)</li></ul>Persona:<br /><ul><li>Nombre
E-mail</li></li></ul><li>1. Introducción<br />
¿Qué es MVC?<br /><ul><li>¿Qué es MVC?
Según Wikipedia: patrón de arquitectura de software que separa los datos de una aplicación, la interfaz de usuario, y la l...
Para todo tipo de sistemas…
… y de tecnologías  (Java, Ruby, Python, Perl, Flex, SmallTalk, .Net…)</li></li></ul><li>Definiendo los roles<br /><ul><li...
Lógica de negocio
Mecanismos de persistencia</li></ul>M<br />Modelo<br />V<br />Vista<br /><ul><li>Interfazde usuario
Elementos de interacción
Intermediario entre Modelo y Vista
Upcoming SlideShare
Loading in...5
×

El patrón MVC

1,810

Published on

¿Qué mejor forma que comenzar el fin de semana que introduciéndote en el mundo de MVC? De mano de uno de nuestros coordinadores, MSP de Miscrosof, ofrecemos un taller en el que se introduce al mundo de los patrones, que permiten organizar mejor tú código, separar la lógica y mejorar el rendimiento.

Para ello, se hablará de uno de los más concocidos: MVC. Se verán ejemplos en dos lenguajes de programación completamente diferentes:

ASP.net
Ruby on Rails

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,810
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
61
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

El patrón MVC

  1. 1.
  2. 2.
  3. 3. Agenda<br /><ul><li>Qué es MVC (orientado a web)
  4. 4. Ruby onRails
  5. 5. Introducción a Ruby
  6. 6. Scaffolding con Rails
  7. 7. Rails avanzado
  8. 8. ASP.net MVC3
  9. 9. Un vistazo rápido a Razor
  10. 10. Introducción al manejo de vistas
  11. 11. Scaffolding con MVC3
  12. 12. ASP.net avanzado</li></li></ul><li>¿Vale, pero qué vamos a hacer?<br /><ul><li>Crear un sistema de gestión de eventos</li></ul>Evento:<br /><ul><li>Título
  13. 13. Fecha
  14. 14. Descripción
  15. 15. Capacidad
  16. 16. Asistentes (Personas)</li></ul>Persona:<br /><ul><li>Nombre
  17. 17. E-mail</li></li></ul><li>1. Introducción<br />
  18. 18. ¿Qué es MVC?<br /><ul><li>¿Qué es MVC?
  19. 19. Según Wikipedia: patrón de arquitectura de software que separa los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos: Modelo-Vista-Controlador
  20. 20. Para todo tipo de sistemas…
  21. 21. … y de tecnologías (Java, Ruby, Python, Perl, Flex, SmallTalk, .Net…)</li></li></ul><li>Definiendo los roles<br /><ul><li>Representación de los datos del dominio
  22. 22. Lógica de negocio
  23. 23. Mecanismos de persistencia</li></ul>M<br />Modelo<br />V<br />Vista<br /><ul><li>Interfazde usuario
  24. 24. Elementos de interacción
  25. 25. Intermediario entre Modelo y Vista
  26. 26. Mapea acciones de usuario  acciones del Modelo
  27. 27. Seleccionalas vistas y les suministrainformación</li></ul>C<br />Controlador<br />
  28. 28. Ejemplo de uso<br />C<br />Controlador<br />M<br />Modelo<br />V<br />Vista<br />Crear evento (datos) <br />evt= new Evento()// cargar propiedades<br />CrearEvento(evt)<br />Ok<br />ListarEventos()<br />Evento[]<br />Ejecutar vista(«Eventos», Evento[])<br />HTML<br />
  29. 29. 2. Ruby onRails<br />
  30. 30. Os presento a Ruby<br />Encantado!<br /><ul><li>Interpretado</li></ul>irb(main):001:0> puts «Hola Mundo»<br />Hola Mundo<br />=> nil<br /><ul><li>Dinámico
  31. 31. Orientado a Objetos</li></ul>irb(main):001:0> a = 16<br />=> 16<br />irb(main):001:0> puts a<br />16<br />=> nil<br />classanfitrion<br />definitialize(nombre = "Mundo")<br /> @nombre = nombre<br />end<br />defdecir_hola<br />puts"Hola #{@nombre}"<br />end<br />end<br />
  32. 32. Una clase con detalles<br />classanfitrion<br />definitialize(nombres = "Mundo")<br /> @nombres = nombres<br />end<br />defdecir_hola<br />if@nombres.nil?<br />puts"..."<br />elsif@nombres.respond_to?("each")<br /> @nombres.each do |nombre|<br />puts"Hola #{nombre}"<br />else<br />puts"Hola #{@nombres}"<br />end<br />end<br />end<br />
  33. 33. Cómo crear una web en 4 pasos<br />Inicializar el sitio<br />Definir el modelo y generar las vistas y el controlador<br />Generar la base de datos<br />Play!<br />
  34. 34. Hemos creado una web en 4 pasos<br />rails new demo<br />railsgeneratescaffold<br /><ul><li>evento titulo:stringfecha:datedescripcion:textcapacidad:integer
  35. 35. persona evento_id:intnombre:stringemail:string</li></ul>rakedb:migrate<br />rails server<br />
  36. 36. Vamos a agregar más cosas<br />Relaciones<br /><ul><li>Relacionar evento con asistentes</li></ul>Validación<br /><ul><li>Capacidad de las aulas
  37. 37. Presencia del nombre, del e-mail y que no haya mails repetidos por evento</li></li></ul><li>Resumen<br />Ruby mola!<br />Hemos definido un sitio básico de manera sencilla usando scaffolding<br />Hemos agregado relaciones y validación<br />
  38. 38. 3. ASP.net MVC3<br />
  39. 39. Acerca de ASP.net MVC<br /><ul><li>Open Source
  40. 40. Sobre ASP.net
  41. 41. Backend: Visual Basic o C#
  42. 42. Frontend: Razor</li></li></ul><li>¿Razor?<br />Motor de visualización poco intrusivo<br /><ul> <br /> @for (var i = 0; i < 5; i++)<br /> {<br /> <li>@i</li><br /> } <br /></ul><br />@{<br />var name = “Gilberto Salazar”;<br /> <div><br />Nombre: @name<br /> </div><br />}<br />@{ <br /> Layout = "/Shared/_Layout.cshtml";<br />}<br /><p><br />Aquíponemos el contenido<br /></p><br /><html><br />    <head><br />      <title>Simple Layout</title><br />    </head><br />    <body> <br />        @RenderBody()<br /> </body><br /></html><br />
  43. 43. Ejemplo básico<br /><ul><li>Controlador
  44. 44. Definir datos
  45. 45. Vista
  46. 46. Consumir datos</li></li></ul><li>Sitio web sencillo usando scaffolding*<br />Inicializar el sitio<br />Definir el modelo y las relaciones<br />Generar las vistas y el controlador<br />Generar la base de datos<br />Play!<br />
  47. 47. Vamos a agregar más cosas (II)<br />Relaciones<br /><ul><li>Relacionar evento con asistentes
  48. 48. Mostrar los asistentes de un evento</li></ul>Validación<br /><ul><li>Validar la presencia del nombre y del e-mail</li></ul>Helpers<br /><ul><li>Formato a las direcciones de e-mail
  49. 49. Facebook
  50. 50. Twitter</li></li></ul><li>Resumen<br /><ul><li>Creado dos modelos
  51. 51. Agregado relaciones
  52. 52. Agregado validación
  53. 53. Enlazado vistas
  54. 54. Agregada interacción a nuestra web mediante helpers</li></li></ul><li>Recursos<br /><ul><li>Ruby-lang.org
  55. 55. Rubyonrails.org
  56. 56. Railsforzombies.org
  57. 57. Live.visitmix.com
  58. 58. Asp.net/mvc
  59. 59. @rlbisbe
  60. 60. Robertoluis.wordpress.com</li></li></ul><li><ul><li>¿Preguntas?</li></li></ul><li>GRACIAS A TODOS!<br />(que es viernes, y estar aquí tiene mérito!)<br />
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×