fbpx
Wikipedia

Modelo–vista–presentador

Modelo–Vista–Presentador (MVP) es una derivación del patrón arquitectónico modelo–vista–controlador (MVC), y es utilizado mayoritariamente para construir interfaces de usuario.

Esquema que describe la IGU del patrón de diseño Modelo Vista Presentador (MVP).

En MVP el presentador asume la funcionalidad del "intermediario". En MVP, toda lógica de presentación es colocada al presentador.[1]

Descripción de patrón

MVP es un patrón arquitectónico de interfaz de usuario diseñada para facilitar pruebas de unidad automatizada y mejorar la separación de inquietudes en lógica de presentación:

  • El modelo es una interfaz que define los datos que se mostrarán o sobre los que actuará la interfaz de usuario.
  • El presentador actúa sobre el modelo y la vista. Recupera datos de los repositorios (el modelo), y los formatea para mostrarlos en la vista.
  • La vista es una interfaz pasiva que exhibe datos (el modelo) y órdenes de usuario de las rutas (eventos) al presentador para actuar sobre los datos.

Normalmente, la vista de implementación instancia el objeto de presentador en concreto, proporcionando una referencia a él. El siguiente código C# demuestra una simple vista de un constructor, donde ConcreteDomainPresenter implementa la interfaz IDomainPresenter:

public class DomainView : IDomainView { private IDomainPresenter domainPresenter = null; ///<summary>Constructor</summary> public DomainView() { domainPresenter = new ConcreteDomainPresenter(this); } } 

El grado de la lógica permitida en la vista varía entre las diferentes implementaciones.

  • En un extremo, donde la vista es totalmente pasiva, simplemente reenvía todas las operaciones de interacción hacia el presentador. En esta formulación, cuando un usuario activa un método de evento de la vista, esta no hace más que invocar un método del presentador que no tiene parámetros y no devuelve ningún valor. El presentador recupera entonces datos de la vista a través de los métodos definidos por la interfaz de vista. Por último, el presentador opera en el modelo y actualiza la vista con los resultados de la operación.
  • Otras versiones de modelo-vista-presentador permiten cierta libertad con respecto a qué clase maneja una determinada interacción, evento o comandos. Esto suele ser más adecuado para arquitecturas basadas en la Web, donde la vista, que se ejecuta en el navegador de un cliente, puede ser el mejor lugar para manejar una interacción o comando en particular.

Desde un punto de vista de capas, la clase de presentador podría considerarse como perteneciente a la capa de aplicación en un sistema de arquitectura multicapa, pero también pueda ser visto como capa de presentador de su propiedad entre la capa de aplicación y la capa de interfaz del usuario.

Implementación en .NET

El entorno .NET apoya el patrón MVP mucho como cualquier otro entorno de desarrollo. La misma clase modelo y presentador pueden usar soporte interfaces múltiples, como un Aplicación web ASP.NET, una aplicación de Windows Form, o una aplicación Silverlight. El presentador obtiene y establece la información de/a la vista a través de una interfaz que se puede acceder por el componente de la interfaz (vista).

Además de implementar manualmente el modelo, un marco modelo-vista-presentador puede ser utilizado para apoyar el patrón MVP de una manera más automatizada. A continuación se muestra una lista de tales marcos bajo la plataforma .NET.

Marcos .NET

  • Claymore
  • MVC# Framework
  • Fábrica de Software de Cliente de web
  • Evolution.Net MVP Marco
  • Núcleo.NET
  • WinForms MVP
  • CRUD Killer es un conjunto de plantillas de CodeSmith para un desarrollo rápido

Implementación en Java

En una aplicación Java (AWT/Swing/SWT), el patrón MVP puede ser utilizado dejando la clase de interfaz del usuario implementar una interfaz de vista.

La misma aproximación puede ser utilizada para aplicaciones basadas en web Java, desde modernos marcos Web basados en componentes Java permiten el desarrollo de la lógica del lado del cliente utilizando el mismo enfoque de componentes como clientes gruesos.

Implementando MVP en Web de Google Toolkit requiere sólo que algún componente implementa la interfaz de vista. La misma aproximación es posible utilizando el marco Web Eco2.

MVP Puede ser implementado en Java SE (AWT y Swing) las aplicaciones que utilizan los marcos Biscotti y MVP4J.

Marcos Java

  • Ejemplo de Presentador de Vista de modelo del GWT proyecto.
  • Modelo-Vista-pensamientos de implementación del Presentador en StackExchange

Enlaces externos

  1. https://developers.google.com/web-toolkit/articles/testing_methodologies_using_gwt
  2. Large scale application development and MVP from GWT project's web site.

Referencias

Véase también

El patrón de software modelo-vista-presentador se originó en la década de 1990 en Taligent, una empresa conjunta de Apple, HP, e IBM, y era el modelo de programación subyacente para desarrollo de aplicación en Taligent C++-basado CommonPoint entorno. El patrón era más tarde emigrado por Taligent a Java y popularizado en un papel por Taligent CTO Mike Potel.[1]​ Después de la desaparición de Taligent en 1997, Andy Bower y Blair McGlashan de Delfín Smalltalk adaptó el patrón MVP para formar la base para su marco de interfaz del usuario Smalltalk.[2]​ En 2006, Microsoft empezó incorporar MVP a su documentación y ejemplos para programación de interfaz del usuario en el .Marco NET.[3][4]​ La evolución y variantes múltiples del patrón MVP, incluyendo la relación de MVP a otros patrones de diseño como MVC, está hablado en detalle en un artículo por Martin Fowler[5]​ y otro por Derek Greer[6]

Historia

  • Nette Marco

Marcos de PHP

A partir de entornos de ejecución flexibles de PHP, hay amplias posibilidades de enfoques de una lógica de la aplicación. Un gran ejemplo de aplicación patrón MVP es Nette Framework que implementa una rica capa de presentador y capa de vista a través de sistema de plantillas Latte (motor de plantilla de la web). La implementación de capa de modelo se deja al programador de la aplicación del final.

Implementación en PHP

  •   Datos: Q944207
  1. "MVP: Model-View-Presenter.
  2. "Twisting the Triad.
  3. "Model View Presenter."
  4. "The Model-View-Presenter (MVP) Pattern."
  5. "GUI Architectures" Martin Fowler
  6. "Interactive Application Architecture Patterns" Derek Greer

modelo, vista, presentador, modelo, vista, presentador, derivación, patrón, arquitectónico, modelo, vista, controlador, utilizado, mayoritariamente, para, construir, interfaces, usuario, esquema, describe, patrón, diseño, modelo, vista, presentador, presentado. Modelo Vista Presentador MVP es una derivacion del patron arquitectonico modelo vista controlador MVC y es utilizado mayoritariamente para construir interfaces de usuario Esquema que describe la IGU del patron de diseno Modelo Vista Presentador MVP En MVP el presentador asume la funcionalidad del intermediario En MVP toda logica de presentacion es colocada al presentador 1 Indice 1 Descripcion de patron 2 Implementacion en NET 2 1 Marcos NET 3 Implementacion en Java 3 1 Marcos Java 4 Enlaces externos 5 Referencias 6 Vease tambien 7 Historia 7 1 Marcos de PHP 8 Implementacion en PHPDescripcion de patron EditarMVP es un patron arquitectonico de interfaz de usuario disenada para facilitar pruebas de unidad automatizada y mejorar la separacion de inquietudes en logica de presentacion El modelo es una interfaz que define los datos que se mostraran o sobre los que actuara la interfaz de usuario El presentador actua sobre el modelo y la vista Recupera datos de los repositorios el modelo y los formatea para mostrarlos en la vista La vista es una interfaz pasiva que exhibe datos el modelo y ordenes de usuario de las rutas eventos al presentador para actuar sobre los datos Normalmente la vista de implementacion instancia el objeto de presentador en concreto proporcionando una referencia a el El siguiente codigo C demuestra una simple vista de un constructor donde ConcreteDomainPresenter implementa la interfaz IDomainPresenter public class DomainView IDomainView private IDomainPresenter domainPresenter null lt summary gt Constructor lt summary gt public DomainView domainPresenter new ConcreteDomainPresenter this El grado de la logica permitida en la vista varia entre las diferentes implementaciones En un extremo donde la vista es totalmente pasiva simplemente reenvia todas las operaciones de interaccion hacia el presentador En esta formulacion cuando un usuario activa un metodo de evento de la vista esta no hace mas que invocar un metodo del presentador que no tiene parametros y no devuelve ningun valor El presentador recupera entonces datos de la vista a traves de los metodos definidos por la interfaz de vista Por ultimo el presentador opera en el modelo y actualiza la vista con los resultados de la operacion Otras versiones de modelo vista presentador permiten cierta libertad con respecto a que clase maneja una determinada interaccion evento o comandos Esto suele ser mas adecuado para arquitecturas basadas en la Web donde la vista que se ejecuta en el navegador de un cliente puede ser el mejor lugar para manejar una interaccion o comando en particular Desde un punto de vista de capas la clase de presentador podria considerarse como perteneciente a la capa de aplicacion en un sistema de arquitectura multicapa pero tambien pueda ser visto como capa de presentador de su propiedad entre la capa de aplicacion y la capa de interfaz del usuario Implementacion en NET EditarEl entorno NET apoya el patron MVP mucho como cualquier otro entorno de desarrollo La misma clase modelo y presentador pueden usar soporte interfaces multiples como un Aplicacion web ASP NET una aplicacion de Windows Form o una aplicacion Silverlight El presentador obtiene y establece la informacion de a la vista a traves de una interfaz que se puede acceder por el componente de la interfaz vista Ademas de implementar manualmente el modelo un marco modelo vista presentador puede ser utilizado para apoyar el patron MVP de una manera mas automatizada A continuacion se muestra una lista de tales marcos bajo la plataforma NET Marcos NET Editar Claymore MVC Framework Fabrica de Software de Cliente de web Evolution Net MVP Marco ASP NET Web Forms Model View Presenter MVP Nucleo NET WinForms MVP CRUD Killer es un conjunto de plantillas de CodeSmith para un desarrollo rapidoImplementacion en Java EditarEn una aplicacion Java AWT Swing SWT el patron MVP puede ser utilizado dejando la clase de interfaz del usuario implementar una interfaz de vista La misma aproximacion puede ser utilizada para aplicaciones basadas en web Java desde modernos marcos Web basados en componentes Java permiten el desarrollo de la logica del lado del cliente utilizando el mismo enfoque de componentes como clientes gruesos Implementando MVP en Web de Google Toolkit requiere solo que algun componente implementa la interfaz de vista La misma aproximacion es posible utilizando el marco Web Eco2 MVP Puede ser implementado en Java SE AWT y Swing las aplicaciones que utilizan los marcos Biscotti y MVP4J Marcos Java Editar MVP4J Eco2 Web de Google Toolkit 2 GWT Plataforma JFace CSwing Vaadin ZKEjemplo de Presentador de Vista de modelo del GWT proyecto Modelo Vista pensamientos de implementacion del Presentador en StackExchangeEnlaces externos Editar https developers google com web toolkit articles testing methodologies using gwt Large scale application development and MVP from GWT project s web site Referencias EditarCapas comunes en un sistema de informacion arquitectura logica Modelo vista controlador Modelo Vista ViewModel Presentador PrimeroVease tambien EditarEl patron de software modelo vista presentador se origino en la decada de 1990 en Taligent una empresa conjunta de Apple HP e IBM y era el modelo de programacion subyacente para desarrollo de aplicacion en Taligent C basado CommonPoint entorno El patron era mas tarde emigrado por Taligent a Java y popularizado en un papel por Taligent CTO Mike Potel 1 Despues de la desaparicion de Taligent en 1997 Andy Bower y Blair McGlashan de Delfin Smalltalk adapto el patron MVP para formar la base para su marco de interfaz del usuario Smalltalk 2 En 2006 Microsoft empezo incorporar MVP a su documentacion y ejemplos para programacion de interfaz del usuario en el Marco NET 3 4 La evolucion y variantes multiples del patron MVP incluyendo la relacion de MVP a otros patrones de diseno como MVC esta hablado en detalle en un articulo por Martin Fowler 5 y otro por Derek Greer 6 Historia EditarNette MarcoMarcos de PHP Editar A partir de entornos de ejecucion flexibles de PHP hay amplias posibilidades de enfoques de una logica de la aplicacion Un gran ejemplo de aplicacion patron MVP es Nette Framework que implementa una rica capa de presentador y capa de vista a traves de sistema de plantillas Latte motor de plantilla de la web La implementacion de capa de modelo se deja al programador de la aplicacion del final Implementacion en PHP Editar Datos Q944207 MVP Model View Presenter Twisting the Triad Model View Presenter The Model View Presenter MVP Pattern GUI Architectures Martin Fowler Interactive Application Architecture Patterns Derek Greer Obtenido de https es wikipedia org w index php title Modelo vista presentador amp oldid 142918472, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos