Describa con un ejemplo simple las diferencias entre MVP-Passive View y MVP-Supervisoring controller. Sería mejor mostrar cómo se vinculan los datos con control y se valida la entrada utilizando ambas técnicas de mvp: vista pasiva y controlador de supervisión. GraciasQué son MVP-Passive View y MVP-Supervisoring controller
Respuesta
La diferencia está en las actualizaciones de la capa de vista.
Desde la página Model-View-Presenter pattern en MSDN:
Cuando se actualiza el modelo, la vista también tiene que ser actualizado para reflejar los cambios. Las actualizaciones de vista pueden manejarse de varias maneras. Las variantes Model-View-Presenter, Passive View y Supervisoring Controller, especifican diferentes enfoques para implementar actualizaciones de vista.
En Vista pasiva, el presentador actualiza la vista para reflejar los cambios en el modelo. La interacción con el modelo es manejada exclusivamente por el presentador; la vista no está al tanto de los cambios en el modelo.
En Supervisor Controlador, la vista interactúa directamente con el modelo para realizar un enlace de datos simple que se puede definir de manera declarativa, sin intervención del presentador. El presentador actualiza el modelo; manipula el estado de la vista solo en casos donde se requiere una lógica de UI compleja que no se puede especificar de manera declarativa. Los ejemplos de lógica de IU compleja pueden incluir cambiar el color de un control o ocultar/mostrar dinámicamente los controles. La Figura 1 ilustra la vista lógica de las variantes de Vista pasiva y Controlador de supervisión.
La decisión de utilizar pasiva Ver o Supervisar controlador depende principalmente de cómo comprobable desea que su aplicación sea. Si la capacidad de prueba es una preocupación principal en su aplicación, la Vista pasiva podría ser más adecuada, ya que puede probar toda la lógica de la interfaz de usuario probando el presentador. Por otro lado, si prefiere la simplicidad del código con respecto a la capacidad de prueba completa, el Controlador de supervisión podría ser una mejor opción porque, para los cambios de interfaz de usuario simples, no tiene que incluir código en el presentador que actualice la vista. Al elegir entre la vista pasiva y el controlador supervisor, tenga en cuenta lo siguiente:
- Ambas variantes le permiten aumentar la capacidad de prueba de su lógica de presentación.
- La vista pasiva generalmente proporciona una superficie de prueba más grande que el controlador de supervisión porque toda la lógica de actualización de vista se coloca en el presentador.
- Supervisor El controlador generalmente requiere menos código que la Vista pasiva porque el presentador no realiza actualizaciones simples de la vista.
Más información:
pasiva Vista:
http://martinfowler.com/eaaDev/PassiveScreen.html
http://codebetter.com/jeremymiller/2007/05/31/build-your-own-cab-part-4-the-passive-view/
Supervisar controlador:
- 1. ¿Qué alternativas hay para Model-View-Controller?
- 2. PresentModel View Controller Problema
- 3. Ejemplos de Hierarchical-Model-View-Controller (HMVC)?
- 4. Rotación de UIPageViewController en Container View Controller
- 5. Storyboard Segue From View Controller to Itself
- 6. ¿Cómo funciona Joomla Model View Controller (MVC)?
- 7. Programación iOS: aclaraciones sobre Root View Controller
- 8. Muchos a muchos en asp.net mvc view y controller
- 9. ¿Cómo funciona la contención de View Controller en iOS 5?
- 10. Ítem de navegación que no aparece en View Controller
- 11. ¿Cuál es la ventaja de Model-View-Controller (MVC) sobre Model-View?
- 12. Model View Controller Patrón de diseño Código Ejemplo
- 13. ¿Cuál es la diferencia entre las clases RootViewController, AppDelegate y View Controller que puedo crear?
- 14. ¿Qué es Model View Presenter?
- 15. Diferencias de implementación entre MVP Passive View y Supervisoring Controller para colecciones
- 16. ¿Qué son paddingStart y paddingEnd?
- 17. MVC Base Controller y Ninject
- 18. iOS: cómo crear vistas de forma programática utilizando XIB, pero sin usar View Controller
- 19. ¿Cómo puedo vincular ViewModels anidados de View a Controller en MVC3?
- 20. hidesBottomBarWhenPushed Configuración deja barra inferior desaparecidos tras View Controller se extrae
- 21. El patrón de diseño Model-Repository-Service-Validator-View-ViewModel-Controller (?)
- 22. ¿Cómo se aplica el patrón Model-View-Controller al desarrollo de iPhone?
- 23. IPhone: después de cerrar Modal View Controller: falta espacio en la parte superior de la página
- 24. ¿Qué son las cookies firmadas y por qué son útiles?
- 25. ¿Cómo acceder a View Controller desde el controlador de la barra de pestañas?
- 26. No se pueden arrastrar/soltar objetos en View Controller a menos que haya aumentado
- 27. JQUERY ajax que pasa el valor de MVC View al Controller
- 28. Cómo agregar un Table View Controller a una aplicación basada en pestañas Xcode 4.3.3
- 29. ¿Qué es un motor ASP.Net MVC View?
- 30. Razor View Engine y jQuery