Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MVP Talk

MVP Talk

MVP talk for the Android Dev Peru MeetUp #11

Pablo Johnson

June 01, 2017
Tweet

More Decks by Pablo Johnson

Other Decks in Programming

Transcript

  1. ¿Qué es MVP? MVP es una ARQUITECTURA… MVP es un

    patrón que se aplica en la capa de presentación.
  2. ¿Qué es MVP? MVP es una ARQUITECTURA… MVP es un

    patrón que se aplica en la capa de presentación. ¿Capa de presentación?
  3. Capa de presentación Aquí es donde reside la lógica de

    las vistas y animaciones. Se puede implementar haciendo uso de algún patrón como MVC, MVVM o MVP.
  4. MVP

  5. Model • El modelo (model) es la puerta o conexión

    hacia nuestra capa de dominio (domain)
  6. Model • El modelo (model) es la puerta o conexión

    hacia nuestra capa de dominio (domain) • Es el encargado de mantener y encapsular la lógica de negocio de nuestra aplicación.
  7. Model • El modelo (model) es la puerta o conexión

    hacia nuestra capa de dominio (domain) • Es el encargado de mantener y encapsular la lógica de negocio de nuestra aplicación. • Si implementamos Clean Architecture el modelo probablemente sería un interactor el cual estaría encargado de implementar un caso de uso.
  8. View • NO es un componente Android (alguna clase que

    extienda de View) ni una pantalla.
  9. View • NO es un componente Android (alguna clase que

    extienda de View) ni una pantalla. • Usualmente es una interfaz y sirve para conectar cada interacción del usuario con un método en el presenter.
  10. View • NO es un componente Android (alguna clase que

    extienda de View) ni una pantalla. • Usualmente es una interfaz y sirve para conectar cada interacción del usuario con un método en el presenter. • Suele ser implementada en un Activity, Fragment o un Custom View
  11. Presenter • Actua como mediador entre la vista y el

    modelo. • Obtiene data del modelo y la devuelve formateada a la vista.
  12. ¿Se puede tener más de una vista en la misma

    pantalla? La respuesta es...
  13. ¿Se puede tener más de una vista en la misma

    pantalla? La respuesta es... SI
  14. ¿Se puede tener más de una vista en la misma

    pantalla? La respuesta es... SI Veamos un ejemplo
  15. Referencias • Erik Jhordan ◦ https://erikcaffrey.github.io/ANDROID-mvp/ • Antonio Leiva ◦

    https://antonioleiva.com/mvp-android/ • Christian Panadero ◦ http://panavtec.me/modeling-presentation-layer • Hannes Dorfmann ◦ http://hannesdorfmann.com/android/mosby