filedownloadwrapper - MVP de GWT con actividades y lugares: ¿referencias "globales"?
vaadin tutorial (1)
Estoy un poco confundido con el desarrollo MVP de GWT con el ejemplo de Actividades y lugares . Es la primera vez que me acerco a un patrón de diseño así. Pude implementarlo en mi proyecto y, para mi sorpresa, realmente funciona. La historia funciona, los eventos disparan bien, etc.
Como sigo exactamente el ejemplo, mis presentadores son Actividades desechables que se crean cada vez que el usuario navega y las vistas se guardan en una ClientFactory. Todo está separado y limpio.
Ahora no puedo entender lo siguiente: en mi aplicación, el usuario puede seleccionar una opción global en cualquier momento: activa un evento que notifica la Actividad actual (que se desea). Ahora me siento un poco tonto, pero ¿cómo puedo pasar el objeto de opción global a Actividades creadas después del evento disparado?
En el ejemplo, los constructores de Actividades reciben un parámetro de Lugar que solo puede contener Cadenas simples (el objeto de opciones globales no es de cadena) y la Fábrica de clientes. En este momento estoy colocando las opciones globales en ClientFactory, pero eso debe ser ( o se siente ) incorrecto. ¿Debo quizás colocarlo en AppActivityMapper, que crea los objetos de la actividad? ¿Me estoy perdiendo algo grande aquí?
ha encontrado el problema descrito en otro lugar en ( MVP de GWT con Lugares y Actividades - ¿Dónde está el Modelo? ) - la demostración de Actividades y Lugares no cubre el componente de Modelo de MVP.
Aunque se siente mal, recomiendo almacenar esta instancia de datos modelo en su ClientFactory, o hacer que su ClientFactory proporcione un método getModel (). El retorno del modelo de datos podría incluir su opción global.
Las estrategias alternativas presentadas en el artículo anterior son para sus actividades ''desechables'' en realidad obtener un Presentador persistente de la Fábrica de Clientes, o para que su Actividad recupere el modelo de datos en la creación.