2008-10-23 8 views
7

¿Por qué debería elegir usar uno en lugar del otro y en qué casos?Diálogo humilde vs MVC

Me concentro principalmente en aplicaciones de escritorio y, en lo personal, creo que el cuadro de diálogo más sencillo y natural es más fácil de usar.

Respuesta

8

En MVC, seguiría utilizando su cuadro de diálogo "humilde". Excepto por toda la lógica comercial, sería trasladada a otra clase en otro lugar.

http://en.wikipedia.org/wiki/Model-view-controller

Necesitas pesar hasta si la inversión en MVC valdrá la pena - especialmente si sólo está trabajando con un único cuadro de diálogo sencillo.

7

Una de las mejores discusiones que he encontrado sobre las ventajas y desventajas de la vista del modelo patrones controlador/presentador fue escrito por Martin Fowler: http://martinfowler.com/eaaDev/uiArchs.html

En resumen, al optar por utilizar una variante MVC que están aumentando la capacidad de prueba de su vista (diálogo). Mantener toda su lógica en su clase de diálogo, por otro lado, puede estar bien si no espera que el diálogo sea muy complejo, sin embargo, a medida que aumenta la complejidad, aumenta el beneficio del código comprobable.

Realmente es una decisión.

+5

Estás malinterpretando lo que quiere decir con "diálogo humilde". Es otro patrón de vista ligero: http://www.objectmentor.com/resources/articles/TheHumbleDialogBox.pdf – Sandy

+0

El tratamiento de Martin Fowler de la idea (dado que el enlace objectmentor está actualmente roto): http://www.martinfowler.com/ eaaDev/uiArchs.html # HumbleView –

1

No hay una respuesta simple.

Debe usar lo que le hará la vida más fácil.

Si el diálogo es realmente simple, y usted sabe con certeza que va a seguir así, vaya con un diálogo simple.

Si tiene algo más complejo, como presentaciones de múltiples vistas de los mismos datos, o si sabe que su diálogo simple se volverá más complejo con el tiempo, entonces, por supuesto, use MVC.

También puedes echar un vistazo al patrón MVP como una alternativa a MVC.

5

Los cuadros de diálogo "Humble" en sí ya son MVC. Tiene:

  • M, El contenido del mensaje de diálogo.
  • V, la ventana y los widgets que el usuario puede ver.
  • C, Cómo se muestra el cuadro de diálogo y cómo responde a la actividad del usuario.

La estructura de su interfaz gráfica de usuario o la biblioteca contenedora pueden proporcionar MVC sin problemas sin tener que pensar en ello, pero sigue siendo MVC.