AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / Desarrollar una aplicación o un sitio web / MVP (Modelo, Vista, Presentador)
  • Presentación
  • Principio
  • La noción de VER
  • La noción de capa de presenter
  • La noción de capa MODELO
  • El concepto de capa de acceso a la base de datos
  • La noción de capa de aplicación
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Presentación
MVP es el acrónimo de MODELO - VER - presenter.
Se trata de un "patrón de diseño" que propone dividir y estructurar la arquitectura de las interfaces de usuario en capas. (Se puede combinar con una división del acceso a los datos, en capas, que se puede llamar DAL.: Data Access Layer, y que separa la información en memoria del acceso físico a la base de datos). Permite separar el código de gestión de UI del código que utiliza datos comerciales.
Esta arquitectura en capas de aplicación y UI simplifica el mantenimiento y la evolución de los proyectos.
Atención: Este modo de desarrollo utiliza OOP: requiere un buen conocimiento de estos conceptos. Este modo de desarrollo es un modo de desarrollo avanzado.
WINDEV y WINDEV Mobile, a través de su RAD y sus ejemplos, proporcionan un MVP que puede ser adaptado libremente a sus necesidades y a sus propias elecciones de arquitectura.
Principio
Un modelo de desarrollo de MVP se divide en capas de la siguiente manera:
Principio MVP

La noción de VER

Una VISTA representa la parte de UI de la aplicación. Corresponde a la interfaz de usuario (UI). Una VISTA puede ser una ventana, una reporte, una Page Web o una ventana móvil.
Algunas operaciones pueden requerir una interacción con el usuario (visualización de errores, confirmación,...), estas interacciones deben ser realizadas por el VIEW.
  • El VER sabe la presenter.
  • El VIEW puede utilizar la vinculación para recuperar los datos a visualizar de la capa de presenter, o para enviar la información tecleada o modificada por el usuario.
  • El VIEW dispone de una Event específica para realizar las actualizaciones necesarias ("Solicitud de refresco de la pantalla" Event). Este evento se llama automáticamente durante la inicialización, y luego a petición de la capa presenter o de la capa MODEL (RequestRefreshUI).

La noción de capa de presenter

La capa presenter es una clase que realiza el enlace entre la VISTA y el MODELO. Organiza y formatea los datos del MODELO que se mostrarán en la VISTA. Agrupa los procesos relativos a las acciones de los usuarios.
La capa de presenter no tiene acceso al VIEW, lo que significa que la capa de presenter no debe acceder directamente a los controles del VIEW.
Por el contrario, la capa presenter puede solicitar al VIEW que se actualice (a través de RequestRefreshUI).
La misma clase de presenter puede ser utilizada por varios VIEWs (para una ventana o una reporte que muestre los datos provenientes del mismo MODELO, por ejemplo: lista de clientes).
Eazch VIEW (ventana, reporte) debe poseer una instancia distintiva de la clase presenter.
Por el contrario, varios PRESENTADORES pueden compartir instancias de MODELO.
La capa presenter contiene datos y decide qué "datos" se mostrarán en la VISTA. Por ejemplo, cambiar el estado de un control, cambiar la color de un fila en un control Tabla, ...
Las acciones del usuario se mueven a los métodos de la clase presenter, que las redirige a la capa MODELO. La capa de presenter agrupa todos los procesos/eventos relativos a las acciones de los usuarios. Por lo tanto, el código está centralizado y puede ser compartido entre las diferentes VISTAS.
Por otro lado, la capa presenter no accede a la UI, por lo que entablar, Cerrar, Info, Error, etc. no están disponibles.
Por el contrario, el VER conoce la capa de presenter. La vista puede llamar a sus Métodos, leer sus Propiedades y usar el comando Binding. A VIEW tiene una sola presenter.
En resumen , la vista se comunica con la capa presenter:
  • llamando a los métodos de la clase.
  • por las propiedades de escritura o lectura de la clase.
  • utilizando el DataBinding para enlazar con las propiedades de la clase.

La noción de capa MODELO

La capa MODELO contiene los datos de "Negocio" de la aplicación, así como las reglas que se utilizan para manipular.. Esta capa incluye una set de objetos basada en las clases que representan los datos a utilizar. La lógica (y por lo tanto las operaciones) que permite manipular estos datos están representados por clases y métodos.
La capa MODELO es independiente de las capas presenter y VER. La capa de presenter conoce su capa MODELO pero, por el contrario, la capa MODELO no conoce la capa de presenter y menos aún la VISTA.
Los datos a mostrar en la VISTA están contenidos en la capa MODELO.
Sin embargo, para centralizar las operaciones de recuperación de datos, vamos a favorecer el acceso a los datos a través de la capa presenter en lugar de acceder directamente a los objetos de la capa MODELO. La comunicación se realizará entre la capa presenter y la capa MODEL en torno a la asociación de una clase de la capa presenter y una clase de la capa MODEL (a través del atributo <Associated>).
En resumen , la capa presenter se comunica con la capa MODEL:
  • llamando a los métodos de la clase associated
  • por las propiedades de escritura o lectura de las clases de associated

El concepto de capa de acceso a la base de datos

La capa para acceder a los datos de la base de datos puede incluir:
  • un grupo de procedimientos,
  • un set de clases.
Estos conjuntos o clases permiten gestionar la lectura y escritura de datos en la capa MODELO desde y hacia la base de datos física.
El beneficio de separar esta capa es poder modificar y evolucionar de forma centralizada la estructura lógica de los datos y el formato de almacenamiento (BD relacional, BD SQL, archivos XML, Webservice, ...).
Sin embargo, esta capa puede incluirse en la capa MODELO.
Estas opciones van más allá del MVP.

La noción de capa de aplicación

La capa de aplicación se utiliza para gestionar:
  • la lógica de la transición entre los puntos de vista,
  • información común a la aplicación (por ejemplo, centralizar la conexión a una BD, etc.),
  • la capa de negocio de la aplicación.
Versión mínima requerida
  • Versión 20
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 23/06/2023

Señalar un error o enviar una sugerencia | Ayuda local