Escolar Documentos
Profissional Documentos
Cultura Documentos
Esta arquitectura resuelve varios detalles que se presentan cuando tienes una aplicación
con MVC. No toda la responsabilidad debe caer en nuestro MainActivity porque esto
podría ocasionar errores de fluidez haciéndola crashear al haber un proceso pesado en el
hilo principal de la aplicación.
MVP organiza mejor la distribución de archivos y define las responsabilidades de otra
forma.
Model: Igual que en MVC, no hay cambios acá.
View: Ahora el Activity/Fragment es considerado parte de la vista y dejamos de
tenerlo en el Controller como ocurre en la arquitectura anterior.
Presenter: Es como el Controller de MVC, pero va a estar orquestando todo lo
que sucede. Es como un mesero qué se comunicará con el cocinero (modelo)
para traer lo que pide la vista. Debería haber un Presenter por cada Activity o
Fragment.
Esto hace todo mucho más limpio y facilita la realización de unit tests a la lógica
del presenter porque no esta unida a una vista específica o APIs de Android.
Ventajas
Hace que la vista sea tonta para que pueda intercambiar la vista fácilmente.
Reutilizable de vista y presentador
El código es más legible y mantenible
Pruebas sencillas ya que la lógica de negocios está separada de la IU
Desventajas
IMPLEMENTcion http://www.7sabores.com/blog/implementar-patron-mvvm-wpf