2008-10-08 13 views
6

He estado mirando el patrón Model-View-ViewModel sugerido por varias personas (especialmente John Gossman, eche un vistazo a este post y este podcast), pero qué otros patrones (si los hay) han usado personas y me gustó ... y ¿dónde agregan valor?¿Qué patrones de diseño ha utilizado en sus esfuerzos de WPF y cuál le gusta?

También he tropezado a través de:

Me encantaría una discusión activa sobre estos arriba y aquellos que no pude haber descubierto aún.

Respuesta

1

He estado usando una variación del patrón Model-View-Presenter. Ha servido para nuestros propósitos bastante bien desarrollando varias UI. No es perfecto, pero hace bien el trabajo. Uno de los problemas que he tenido es que nunca estoy satisfecho con los escenarios de subprocesos múltiples. Recientemente hemos estado haciendo muchos de nuestros presentadores de subprocesos múltiples. Dado que estos hilos de trabajo, al final, actualizan la interfaz de usuario, hemos tenido que enviar acciones a la interfaz de usuario a través del despachador de la vista. El código se estaba volviendo realmente detallado si todas las propiedades de Vista verificaban al despachador por lo que debido a limitaciones de tiempo, terminamos exponiendo el despachador de la Vista al presentador. No es el mejor movimiento si me preguntas ...

Estamos utilizando un marco de interfaz de usuario modular similar a CAB y Prism, por lo que muchos de esos patrones se aplican a nosotros también.

También soy un gran admirador de los Comandos en WPF. Todavía no he podido jugar con DelegateCommand y CompositeCommand de Prism, pero suenan muy bien.

+0

Es posible que desee comprobar el patrón DataModel-View-ViewModel usando el enlace anterior. Mi comprensión es que el patrón tiene específicamente en cuenta los escenarios de múltiples subprocesos. De hecho, uno podría argumentar que es excesivo usarlo de otra manera. – cplotts

2

Otro patrón que hemos usado y amado es el Patrón de comportamiento adjunto ... utilizando el mecanismo de extensibilidad de las propiedades adjuntas en WPF. También hay bastantes publicaciones en este útil patrón.