Pregunta

Todavía estoy tratando de conseguir mi cerebro envuelto alrededor de MVP. ¿Qué debo usar para la clase del controlador? Es ahí donde puedo acceder a los recursos de datos?

¿Fue útil?

Solución

El controlador debe actuar sobre un modelo, tal vez poblar un modelo a través de una llamada capa de servicios a una base de datos. Por lo general, las solicitudes de la vista del controlador lleva a cabo acciones en el modelo.

La vista es la pantalla de presentación.

El presentador se encarga de flujo entre la vista y el controlador.

La razón de la separación de los presentadores y los controladores podría ser para que pueda reuuse un determinado controlador con un presentador diferente, etc.

Otros consejos

En mi opinión el presentador no debe ser acoplado con la tecnología de interfaz de usuario y debe tratar directamente con los servicios de la capa del modelo. No solo debe haber un solo controlador en la aplicación y que podrían ser fuertemente acoplado con la tecnología de interfaz de usuario. navegación de la página podría ser abstraído en el controlador. Siento que, patrón MVP-Controller basado WCSF es una ligera variación del patrón original MVP.

Permítanme sugerir que el presentador deben ser implementados para su reutilización, mientras que los controladores no lo son.

El controlador de ejemplos WCSF de MS mantenga datos compartidos por varios presentadores en el módulo, se exponen métodos para actuar sobre que los datos compartidos, y gestionar los datos compartidos en la sesión web. Por ejemplo, una lista de las transferencias de dinero objetos utilizados por un presentador y un presentador NewTransfer TransferHistory.

Los datos que es único en 1 presentador sólo se podía acceder a través del controlador, pero no tiene por qué ser. El presentador puede gestionar los datos de acceso a datos y la sesión web en sí en este caso.

Esa es mi interpretación después de ver algunos ejemplos más de un par de años, por ejemplo.

No estoy seguro de cuya definición de "controlador" que están usando, pero no es el mismo que el de la MVC.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top