Patrón MVP

El Patrón Modelo-Vista-Presentador (MVP) surge para ayudar a realizar pruebas automáticas de la interfaz gráfica, para ello la idea es codificar la interfaz de usuario lo más simple posible, teniendo el menor código posible, de forma que no merezca la pena probarla. En su lugar, toda la lógica de la interfaz de usuario, se hace en una clase separada (que se conoce como Presentador), que no dependa en absoluto de los componentes de la interfaz gráfica y que, por tanto, es más fácil de realizar pruebas.

La idea básica es que la clase Presentador haga de intermediario entre la Vista (la interfaz gráfica de usuario) y el modelo de datos. La vista tiene métodos en los que le pasan los datos que debe pintar ya "mascados" (una lista de cadenas por ejemplo, en vez del modelo...). Únicamente debe meter esos datos en los componentes gráficos (cajas de texto, checkbox, etc). También métodos get para obtener el contenido de esos componentes.

El Presentador hará de enlace entre el modelo y la vista, y dotará de inteligencia a la vista. Como el objetivo es poder probarlo fácilmente, el Presentador recibe las interfaces que deben implementar el modelo y la vista, con los métodos públicos a los que el Presentador debe llamar.

Patrón MVP

Se puede decir que el patrón MVP es una mejora del patrón Modelo-Vista-Controlador (MVC) basado en tres características:

  • La vista no conoce el modelo.
  • El presentador es independiente de la tecnología de interfaz de usuario.
  • La vista y el presentador son testeables puesto que esta basada en un contrato.

Comentarios

Comentario de Jesus Walker - 05 de Marzo de 2015 - 07:08
Gracias por la explicacion, es muy tarde y encontrar explicaciones sencillas de patrones de diseño no es tan facil.
Comentario de primo - 24 de Julio de 2015 - 22:09
esta bueno la explicación
Ha habido un error en el envío
Comentario enviado. Será revisado por la moderación antes de ser publicado.

Deja tu comentario

Tu nombre:
Tu email:
Tu comentario:
Nuestra página web utiliza cookies propias y de terceros, para realizar el análisis de la navegación de los usuarios y así poder mejorar nuestros servicios. Si continúas navegando, consideramos que aceptas su uso. Puedes cambiar la configuración u obtener más información aquí