SlideShare ist ein Scribd-Unternehmen logo
1 von 10
Downloaden Sie, um offline zu lesen
GWT, Google Web Toolkit
Parte 4: Modelo Vista Presentador




            Manuel Carrasco Moñino
            Seminarios de JavaHispano (16-Abril-2010)
            manolo@apache.org
Aplicaciones Complejas RIA, modelo MVP
MVC (Modelo vista controlador)

•   Struts, JFace, Spring mvc, ASP, Grails, ROR, etc
•   Vista no testeable (o dificil)
•   Desarrollo lento
•   Vinculos complejos




• Muy acoplado
• Dependencias cruzadas
MVP (Modelo Vista Presentador)
•   Swing, awt, swt, echo2, vaadin, gwt ...
•   Vista Testeable unitariamente.
•   TDD pero desarrollo lento.
•   Vinculos muy sencillos: 1 → 1




• Objetivo: Crear una vista simple
      – Testabilidad de la vista no es necesaria
            porque utilizamos componentes
            testados.
      – Se pueden crear Mock muy simples
• Desarrollo Rapido con TDD
MVP + EventBus + Patron Comando

• Muy desacoplado
• Dependencias muy simples
Resumiendo: ¿Qué es MVP?
• MVP patrón derivado de MVC que ayuda a separar mucho la vista
• La clave es una estricta regulación de la interacción entre la vista y el
    presentador
• La vista y el modelo de datos estan separados a través de un contrato
    (interface)
• MVP es una mejora de MVC basado en:
       – La vista no conoce al modelo.
       – El presentador es independiente de la tecnología de interfaz de
            usuario.
       – La vista y el presentador son testeables independientemente
MVP + Gwt, la clave: el presentador
• Componente encargado de “presentar” las acciones del usuario al sistema y obtener
     la respuesta.
• Actúa de la siguiente manera:
       – Recibe datos de la vista
       – Convierte los datos de la vista en acciones que se ejecutan contra el sistema
       – Con la respuesta del sistema, actualiza los datos de la vista.
       – La navegación a otra vista, deberán ser delegadas en el presentador, que
            sabrá de historia, caches, etc.
• Se ejecuta en el navegador, pero es testeable en la JVM.
• Es la clave del desarrollo ágil en Gwt
• Librerías disponibles:
       – Gwt-Gin → inyeccion en parte cliente
       – Gwt-presenter → para el presentador, historia, eventbus
       – Gwt-dispatch → para el modelo comando (cliente/servidor
            presentador/modelo)
MVP, Consideraciones
• El patrón MVP, no puede ser implementado sin haber hecho
    un análisis previo que determine que miembros deben
    formar parte del contrato de cada vista.
• Una vez que tenemos claro el contrato que debe implementar
    cada vista, podemos desarrollar la lógica de presentación
    de forma paralela al diseño gráfico.
• El patrón MVP puede ser caro de implementar en
    aplicaciones relativamente sencillas, pero es muy útil en
    grandes aplicaciones.
MVP explicación de clases y
    métodos:
• EventBus:
        – addEvent(type, action),
        – fireEvent(type, data)
• Dispatcher:
       – execute(action(request), callback(response))
•   XXPresenter, XXDisplay
       – onBind, revealDisplay
•   XXEventHandler, XXEvent
•   XXAction, XXResult
•   XXActionHandler
Preguntas




            Manuel Carrasco Moñino

               http://manolocarrasco.blogspot.com
                                twitter.com/dodotis

                       manolo@apache.org

Weitere ähnliche Inhalte

Was ist angesagt?

MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)Senior Dev
 
t3chfest 2016 - Implementando microservicios, como y por que
t3chfest 2016 - Implementando microservicios, como y por quet3chfest 2016 - Implementando microservicios, como y por que
t3chfest 2016 - Implementando microservicios, como y por queFátima Casaú Pérez
 
Carrera de fondo - La continuada lucha de AngularJS - CodeMotion 2015
Carrera de fondo - La continuada lucha de AngularJS - CodeMotion 2015Carrera de fondo - La continuada lucha de AngularJS - CodeMotion 2015
Carrera de fondo - La continuada lucha de AngularJS - CodeMotion 2015José Manuel García García
 
Webinar: Introducción a Angular
Webinar: Introducción a AngularWebinar: Introducción a Angular
Webinar: Introducción a AngularArsys
 
Introducción a AngularJS
Introducción a AngularJSIntroducción a AngularJS
Introducción a AngularJSLuis Natividad
 
Monolito a micro servicios por dónde empezar
Monolito a micro servicios por dónde empezarMonolito a micro servicios por dónde empezar
Monolito a micro servicios por dónde empezarCloudNativeElSalvado
 
Desarrollo Web con ASP.NET MVC
Desarrollo Web con ASP.NET MVCDesarrollo Web con ASP.NET MVC
Desarrollo Web con ASP.NET MVCAngel Nuñez
 
Introducción a desarrollo de micro servicios
Introducción a desarrollo de micro serviciosIntroducción a desarrollo de micro servicios
Introducción a desarrollo de micro servicioswesovi
 
Desarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones webDesarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones webRoberto Sanz Ciriano
 
01 Ext Js Introduccion
01 Ext Js   Introduccion01 Ext Js   Introduccion
01 Ext Js IntroduccionMayer Horna
 
Webinar - Iniciación a React para desarrollo de interfaces de usuario
Webinar - Iniciación a React para desarrollo de interfaces de usuarioWebinar - Iniciación a React para desarrollo de interfaces de usuario
Webinar - Iniciación a React para desarrollo de interfaces de usuarioArsys
 
Entity Framework 4.0 y ASP.NET MVC 2 con VS2010 - JUTI XI - 2010
Entity Framework 4.0 y ASP.NET MVC 2 con VS2010 - JUTI XI - 2010Entity Framework 4.0 y ASP.NET MVC 2 con VS2010 - JUTI XI - 2010
Entity Framework 4.0 y ASP.NET MVC 2 con VS2010 - JUTI XI - 2010Desarrollos NEA
 
ASP.NET MVC (2011)
ASP.NET MVC (2011)ASP.NET MVC (2011)
ASP.NET MVC (2011)wildtango
 

Was ist angesagt? (20)

MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)
 
t3chfest 2016 - Implementando microservicios, como y por que
t3chfest 2016 - Implementando microservicios, como y por quet3chfest 2016 - Implementando microservicios, como y por que
t3chfest 2016 - Implementando microservicios, como y por que
 
Carrera de fondo - La continuada lucha de AngularJS - CodeMotion 2015
Carrera de fondo - La continuada lucha de AngularJS - CodeMotion 2015Carrera de fondo - La continuada lucha de AngularJS - CodeMotion 2015
Carrera de fondo - La continuada lucha de AngularJS - CodeMotion 2015
 
Webinar: Introducción a Angular
Webinar: Introducción a AngularWebinar: Introducción a Angular
Webinar: Introducción a Angular
 
Introducción a AngularJS
Introducción a AngularJSIntroducción a AngularJS
Introducción a AngularJS
 
Monolito a micro servicios por dónde empezar
Monolito a micro servicios por dónde empezarMonolito a micro servicios por dónde empezar
Monolito a micro servicios por dónde empezar
 
Implementando una Arquitectura de Microservicios
Implementando una Arquitectura de MicroserviciosImplementando una Arquitectura de Microservicios
Implementando una Arquitectura de Microservicios
 
Desarrollo Web con ASP.NET MVC
Desarrollo Web con ASP.NET MVCDesarrollo Web con ASP.NET MVC
Desarrollo Web con ASP.NET MVC
 
Introducción a desarrollo de micro servicios
Introducción a desarrollo de micro serviciosIntroducción a desarrollo de micro servicios
Introducción a desarrollo de micro servicios
 
Desarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones webDesarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones web
 
ZK Framework
ZK FrameworkZK Framework
ZK Framework
 
01 Ext Js Introduccion
01 Ext Js   Introduccion01 Ext Js   Introduccion
01 Ext Js Introduccion
 
Integrando AngularJS y drupal
Integrando AngularJS y drupalIntegrando AngularJS y drupal
Integrando AngularJS y drupal
 
Introducción a spa
Introducción a spaIntroducción a spa
Introducción a spa
 
Swing
SwingSwing
Swing
 
Webinar - Iniciación a React para desarrollo de interfaces de usuario
Webinar - Iniciación a React para desarrollo de interfaces de usuarioWebinar - Iniciación a React para desarrollo de interfaces de usuario
Webinar - Iniciación a React para desarrollo de interfaces de usuario
 
Angular js in mobile
Angular js in mobileAngular js in mobile
Angular js in mobile
 
ASP.NET MVC Workshop Día 1
ASP.NET MVC Workshop Día 1ASP.NET MVC Workshop Día 1
ASP.NET MVC Workshop Día 1
 
Entity Framework 4.0 y ASP.NET MVC 2 con VS2010 - JUTI XI - 2010
Entity Framework 4.0 y ASP.NET MVC 2 con VS2010 - JUTI XI - 2010Entity Framework 4.0 y ASP.NET MVC 2 con VS2010 - JUTI XI - 2010
Entity Framework 4.0 y ASP.NET MVC 2 con VS2010 - JUTI XI - 2010
 
ASP.NET MVC (2011)
ASP.NET MVC (2011)ASP.NET MVC (2011)
ASP.NET MVC (2011)
 

Ähnlich wie Gwt IV -mvp

VLCTechFest - Simplificando Controladores: Una introducción a Action-Domain ...
VLCTechFest -  Simplificando Controladores: Una introducción a Action-Domain ...VLCTechFest -  Simplificando Controladores: Una introducción a Action-Domain ...
VLCTechFest - Simplificando Controladores: Una introducción a Action-Domain ...Miguel Ángel Sánchez Chordi
 
Generación de código sobre plataformas específicas de desarrollo de aplicacio...
Generación de código sobre plataformas específicas de desarrollo de aplicacio...Generación de código sobre plataformas específicas de desarrollo de aplicacio...
Generación de código sobre plataformas específicas de desarrollo de aplicacio...Jose Manuel García Valladolid
 
Vision práctica del BDD (Behaviour Driven Design) para agilizar el proceso de...
Vision práctica del BDD (Behaviour Driven Design) para agilizar el proceso de...Vision práctica del BDD (Behaviour Driven Design) para agilizar el proceso de...
Vision práctica del BDD (Behaviour Driven Design) para agilizar el proceso de...Software Guru
 
Commit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningCommit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningRafa Hidalgo
 
Curso Arquitectura J2 Ee Parte1
Curso Arquitectura J2 Ee Parte1Curso Arquitectura J2 Ee Parte1
Curso Arquitectura J2 Ee Parte1AndresGuerreroG
 
02 proceso ciclodevida
02 proceso ciclodevida02 proceso ciclodevida
02 proceso ciclodevidaclaudiappaez
 
Frameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITESFrameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITESJesus Caceres Tello
 
Devsecops superstar un movimiento masivo
Devsecops superstar un movimiento masivoDevsecops superstar un movimiento masivo
Devsecops superstar un movimiento masivoLuciano Moreira da Cruz
 
Derribando la torre de marfil - Plain Concepts Dev Day
Derribando la torre de marfil - Plain Concepts Dev DayDerribando la torre de marfil - Plain Concepts Dev Day
Derribando la torre de marfil - Plain Concepts Dev DayPlain Concepts
 
Introducción al proceso unificado de desarrollo de software en Curso de Anali...
Introducción al proceso unificado de desarrollo de software en Curso de Anali...Introducción al proceso unificado de desarrollo de software en Curso de Anali...
Introducción al proceso unificado de desarrollo de software en Curso de Anali...Educagratis
 
Visual Studio 2010 Ligthswitch + AZURE + Zero Code
Visual Studio 2010 Ligthswitch + AZURE + Zero CodeVisual Studio 2010 Ligthswitch + AZURE + Zero Code
Visual Studio 2010 Ligthswitch + AZURE + Zero CodeBruno Capuano
 
Procesos de Software EGEL-UNITEC
Procesos de Software EGEL-UNITECProcesos de Software EGEL-UNITEC
Procesos de Software EGEL-UNITECmrojas_unitec
 
Arquitectura de microservicios
Arquitectura de microserviciosArquitectura de microservicios
Arquitectura de microserviciosFelix Liberio
 
Gwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoGwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoManuel Carrasco Moñino
 

Ähnlich wie Gwt IV -mvp (20)

VLCTechFest - Simplificando Controladores: Una introducción a Action-Domain ...
VLCTechFest -  Simplificando Controladores: Una introducción a Action-Domain ...VLCTechFest -  Simplificando Controladores: Una introducción a Action-Domain ...
VLCTechFest - Simplificando Controladores: Una introducción a Action-Domain ...
 
Generación de código sobre plataformas específicas de desarrollo de aplicacio...
Generación de código sobre plataformas específicas de desarrollo de aplicacio...Generación de código sobre plataformas específicas de desarrollo de aplicacio...
Generación de código sobre plataformas específicas de desarrollo de aplicacio...
 
Vision práctica del BDD (Behaviour Driven Design) para agilizar el proceso de...
Vision práctica del BDD (Behaviour Driven Design) para agilizar el proceso de...Vision práctica del BDD (Behaviour Driven Design) para agilizar el proceso de...
Vision práctica del BDD (Behaviour Driven Design) para agilizar el proceso de...
 
Commit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningCommit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine Learning
 
Curso Arquitectura J2 Ee Parte1
Curso Arquitectura J2 Ee Parte1Curso Arquitectura J2 Ee Parte1
Curso Arquitectura J2 Ee Parte1
 
02 proceso ciclodevida
02 proceso ciclodevida02 proceso ciclodevida
02 proceso ciclodevida
 
Frameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITESFrameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITES
 
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOpsMeetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
 
Devsecops superstar un movimiento masivo
Devsecops superstar un movimiento masivoDevsecops superstar un movimiento masivo
Devsecops superstar un movimiento masivo
 
Ciclo devida
Ciclo devidaCiclo devida
Ciclo devida
 
Derribando la torre de marfil - Plain Concepts Dev Day
Derribando la torre de marfil - Plain Concepts Dev DayDerribando la torre de marfil - Plain Concepts Dev Day
Derribando la torre de marfil - Plain Concepts Dev Day
 
Introducción al proceso unificado de desarrollo de software en Curso de Anali...
Introducción al proceso unificado de desarrollo de software en Curso de Anali...Introducción al proceso unificado de desarrollo de software en Curso de Anali...
Introducción al proceso unificado de desarrollo de software en Curso de Anali...
 
Comenzando a usar el Continuous Delivery
 Comenzando a usar el Continuous Delivery Comenzando a usar el Continuous Delivery
Comenzando a usar el Continuous Delivery
 
Visual Studio 2010 Ligthswitch + AZURE + Zero Code
Visual Studio 2010 Ligthswitch + AZURE + Zero CodeVisual Studio 2010 Ligthswitch + AZURE + Zero Code
Visual Studio 2010 Ligthswitch + AZURE + Zero Code
 
Presentacion grupo8
Presentacion grupo8Presentacion grupo8
Presentacion grupo8
 
Procesos de Software EGEL-UNITEC
Procesos de Software EGEL-UNITECProcesos de Software EGEL-UNITEC
Procesos de Software EGEL-UNITEC
 
Arquitectura de microservicios
Arquitectura de microserviciosArquitectura de microservicios
Arquitectura de microservicios
 
Espoch
EspochEspoch
Espoch
 
JS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World ExampleJS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World Example
 
Gwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoGwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrasco
 

Mehr von Manuel Carrasco Moñino

Present and Future of GWT from a developer perspective
Present and Future of GWT from a developer perspectivePresent and Future of GWT from a developer perspective
Present and Future of GWT from a developer perspectiveManuel Carrasco Moñino
 
Web Components the best marriage for a PWA
Web Components the best marriage for a PWAWeb Components the best marriage for a PWA
Web Components the best marriage for a PWAManuel Carrasco Moñino
 
Intro to Web Components, Polymer & Vaadin Elements
Intro to Web Components, Polymer & Vaadin ElementsIntro to Web Components, Polymer & Vaadin Elements
Intro to Web Components, Polymer & Vaadin ElementsManuel Carrasco Moñino
 
GwtQuery the perfect companion for GWT, GWT.create 2013
GwtQuery the perfect companion for GWT,  GWT.create 2013GwtQuery the perfect companion for GWT,  GWT.create 2013
GwtQuery the perfect companion for GWT, GWT.create 2013Manuel Carrasco Moñino
 
Rapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWTRapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWTManuel Carrasco Moñino
 
GQuery a jQuery clone for Gwt, RivieraDev 2011
GQuery a jQuery clone for Gwt, RivieraDev 2011GQuery a jQuery clone for Gwt, RivieraDev 2011
GQuery a jQuery clone for Gwt, RivieraDev 2011Manuel Carrasco Moñino
 
GWT: Why GWT, GQuery, and RequestFactory
GWT: Why GWT, GQuery, and RequestFactoryGWT: Why GWT, GQuery, and RequestFactory
GWT: Why GWT, GQuery, and RequestFactoryManuel Carrasco Moñino
 

Mehr von Manuel Carrasco Moñino (20)

The Java alternative to Javascript
The Java alternative to JavascriptThe Java alternative to Javascript
The Java alternative to Javascript
 
GWT and PWA
GWT and PWAGWT and PWA
GWT and PWA
 
Present and Future of GWT from a developer perspective
Present and Future of GWT from a developer perspectivePresent and Future of GWT from a developer perspective
Present and Future of GWT from a developer perspective
 
GWT Contributor Workshop
GWT Contributor WorkshopGWT Contributor Workshop
GWT Contributor Workshop
 
CRUD with Polymer 2.0
CRUD with Polymer 2.0CRUD with Polymer 2.0
CRUD with Polymer 2.0
 
Web Components and PWA
Web Components and PWAWeb Components and PWA
Web Components and PWA
 
Building Components for Business Apps
Building Components for Business AppsBuilding Components for Business Apps
Building Components for Business Apps
 
Web Components the best marriage for a PWA
Web Components the best marriage for a PWAWeb Components the best marriage for a PWA
Web Components the best marriage for a PWA
 
Intro to Web Components, Polymer & Vaadin Elements
Intro to Web Components, Polymer & Vaadin ElementsIntro to Web Components, Polymer & Vaadin Elements
Intro to Web Components, Polymer & Vaadin Elements
 
Rock GWT UI's with Polymer Elements
Rock GWT UI's with Polymer ElementsRock GWT UI's with Polymer Elements
Rock GWT UI's with Polymer Elements
 
Introducing GWT Polymer (vaadin)
Introducing GWT Polymer (vaadin)Introducing GWT Polymer (vaadin)
Introducing GWT Polymer (vaadin)
 
Speed up your GWT coding with gQuery
Speed up your GWT coding with gQuerySpeed up your GWT coding with gQuery
Speed up your GWT coding with gQuery
 
Vaadin codemotion 2014
Vaadin codemotion 2014Vaadin codemotion 2014
Vaadin codemotion 2014
 
GwtQuery the perfect companion for GWT, GWT.create 2013
GwtQuery the perfect companion for GWT,  GWT.create 2013GwtQuery the perfect companion for GWT,  GWT.create 2013
GwtQuery the perfect companion for GWT, GWT.create 2013
 
Rapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWTRapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWT
 
Aprendiendo GWT
Aprendiendo GWTAprendiendo GWT
Aprendiendo GWT
 
GQuery a jQuery clone for Gwt, RivieraDev 2011
GQuery a jQuery clone for Gwt, RivieraDev 2011GQuery a jQuery clone for Gwt, RivieraDev 2011
GQuery a jQuery clone for Gwt, RivieraDev 2011
 
Apache James/Hupa & GWT
Apache James/Hupa & GWTApache James/Hupa & GWT
Apache James/Hupa & GWT
 
GWT: Why GWT, GQuery, and RequestFactory
GWT: Why GWT, GQuery, and RequestFactoryGWT: Why GWT, GQuery, and RequestFactory
GWT: Why GWT, GQuery, and RequestFactory
 
Mod security
Mod securityMod security
Mod security
 

Gwt IV -mvp

  • 1. GWT, Google Web Toolkit Parte 4: Modelo Vista Presentador Manuel Carrasco Moñino Seminarios de JavaHispano (16-Abril-2010) manolo@apache.org
  • 3. MVC (Modelo vista controlador) • Struts, JFace, Spring mvc, ASP, Grails, ROR, etc • Vista no testeable (o dificil) • Desarrollo lento • Vinculos complejos • Muy acoplado • Dependencias cruzadas
  • 4. MVP (Modelo Vista Presentador) • Swing, awt, swt, echo2, vaadin, gwt ... • Vista Testeable unitariamente. • TDD pero desarrollo lento. • Vinculos muy sencillos: 1 → 1 • Objetivo: Crear una vista simple – Testabilidad de la vista no es necesaria porque utilizamos componentes testados. – Se pueden crear Mock muy simples • Desarrollo Rapido con TDD
  • 5. MVP + EventBus + Patron Comando • Muy desacoplado • Dependencias muy simples
  • 6. Resumiendo: ¿Qué es MVP? • MVP patrón derivado de MVC que ayuda a separar mucho la vista • La clave es una estricta regulación de la interacción entre la vista y el presentador • La vista y el modelo de datos estan separados a través de un contrato (interface) • MVP es una mejora de MVC basado en: – La vista no conoce al modelo. – El presentador es independiente de la tecnología de interfaz de usuario. – La vista y el presentador son testeables independientemente
  • 7. MVP + Gwt, la clave: el presentador • Componente encargado de “presentar” las acciones del usuario al sistema y obtener la respuesta. • Actúa de la siguiente manera: – Recibe datos de la vista – Convierte los datos de la vista en acciones que se ejecutan contra el sistema – Con la respuesta del sistema, actualiza los datos de la vista. – La navegación a otra vista, deberán ser delegadas en el presentador, que sabrá de historia, caches, etc. • Se ejecuta en el navegador, pero es testeable en la JVM. • Es la clave del desarrollo ágil en Gwt • Librerías disponibles: – Gwt-Gin → inyeccion en parte cliente – Gwt-presenter → para el presentador, historia, eventbus – Gwt-dispatch → para el modelo comando (cliente/servidor presentador/modelo)
  • 8. MVP, Consideraciones • El patrón MVP, no puede ser implementado sin haber hecho un análisis previo que determine que miembros deben formar parte del contrato de cada vista. • Una vez que tenemos claro el contrato que debe implementar cada vista, podemos desarrollar la lógica de presentación de forma paralela al diseño gráfico. • El patrón MVP puede ser caro de implementar en aplicaciones relativamente sencillas, pero es muy útil en grandes aplicaciones.
  • 9. MVP explicación de clases y métodos: • EventBus: – addEvent(type, action), – fireEvent(type, data) • Dispatcher: – execute(action(request), callback(response)) • XXPresenter, XXDisplay – onBind, revealDisplay • XXEventHandler, XXEvent • XXAction, XXResult • XXActionHandler
  • 10. Preguntas Manuel Carrasco Moñino http://manolocarrasco.blogspot.com twitter.com/dodotis manolo@apache.org