Modelo-Vista-Presentador

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 25 de enero de 2016; las comprobaciones requieren 23 ediciones .
jugador más valioso
Modelo Vista Presentador
Estructura
  • Modelo
  • vista
  • presentador
Plantillas relacionadas Modelo-Vista-Controlador
Descrito en Patrones de diseño No

Model-View-Presenter (MVP)  es un patrón de diseño derivado de MVC que se usa principalmente para construir la interfaz de usuario .

El elemento Presentador en este patrón asume la funcionalidad de un mediador (similar a un controlador en MVC) y es responsable de manejar los eventos de la interfaz de usuario (por ejemplo, el uso del mouse ) de la misma manera que una vista suele ser responsable en otros patrones.

Descripción de la plantilla

MVP es un patrón de diseño de interfaz de usuario que se desarrolló para facilitar las pruebas unitarias automatizadas y mejorar la separación de preocupaciones en la lógica de presentación (separación de la lógica de la pantalla):

Por lo general, una instancia de la Vista (View) crea una instancia del Representante, pasándole una referencia a sí mismo. Al mismo tiempo, el Representante trabaja con la Vista de forma abstracta, a través de su interfaz . Cuando se activa un evento de vista, invoca un método de vista específico que no tiene parámetros ni valor de retorno. El representante recibe los datos sobre el estado de la interfaz de usuario necesarios para que el método funcione a través de la interfaz de Vista y, a través de ella, también transfiere datos del Modelo y otros resultados de su trabajo a la Vista.

public class MyModel { private int _state = 0 ; public MyModel ( initState ) { _state = initState ; } getState público (){ return _state ; } } clase pública MyView : IView { private IPresenter _presenter ; public MyView () { _presenter = new MyPresenter ( este ); } } clase pública MyPresenter : IPresenter { private IView _view ; privado MiModelo _miModelo ; public MyPresenter ( vista IView ) { _view = vista ; _miModelo = nuevo MiModelo ( 1 ); } }

Historia

MVP surgió como una alternativa a MVC. Se puede encontrar un análisis detallado en un artículo de Martin Fowler [1] [2] [3] [4] [5] , así como en un artículo de Derek Greer [6] .

Véase también

Notas

  1. "Arquitecturas GUI" por Martin Fowler. Parte 1 - introducción
  2. "Arquitecturas GUI" por Martin Fowler. Parte 2 - MVC
  3. "Arquitecturas GUI" por Martin Fowler. Parte 3 - MVC
  4. "Arquitecturas GUI" por Martin Fowler. Parte 4 - JMV
  5. "Arquitecturas GUI" por Martin Fowler. Parte 5 - Visión humilde
  6. Patrones de arquitectura de aplicaciones interactivas por Derek Greer . Consultado el 30 de mayo de 2012. Archivado desde el original el 30 de mayo de 2012.

Enlaces