2011-02-02 16 views
13

Si no divido mi aplicación en módulos diferentes (de lo contrario, diría que Prism definitivamente sería el camino a seguir) ¿Debería usar Prism?WPF: ¿Prism es excesivo para aplicaciones pequeñas?

sé que Prism da una aplicación conveniente de ICommand (que yo podría hacer a mí mismo en una página de código) y nos da la IEventAggregator pero hace todo el programa previo, Shell, ModuleCatalog cosas realmente ayuda?

¿Por qué no usar simplemente el patrón MVVM (sin Prism) para separar sus preocupaciones para que su aplicación sea comprobable y Bob's your Uncle!

Respuesta

13

Para una aplicación pequeña, definitivamente podría considerarlo excesivo, pero incluso para una aplicación pequeña, ha identificado algunos aspectos útiles, p. DelegatedCommand y IEventAggregator (que BTW viene con manejo de eventos débiles, por lo que no es totalmente trivial para implementar correctamente).

Quizás un marco más liviano sea más adecuado. Solo conozco a Prism, así que realmente no puedo comentar.

Sin embargo, un punto que quisiera decir es que es muy común que las aplicaciones pequeñas comiencen pequeñas, pero luego evolucionan hacia aplicaciones más grandes. Poner la cantidad relativamente pequeña de esfuerzo en diseñarlo desde el principio es mejor que pagar la monumental (ya veces imposible) tarea de clasificarlo más tarde.

+1

+1 - escribía casi lo mismo. Una pequeña aplicación que no habla con un sistema de archivos, una base de datos, se comunica con entidades externas o tiene subventanas, páginas o funcionalidades importantes es, en el mejor de los casos, un "prototipo" y no se beneficia de nada. . Una vez que comienzas a poner esas otras cosas, Prism se vuelve muy útil muy rápidamente. –

2

Para aplicaciones más pequeñas, caliburn micro proporciona un marco más simple. Para mí, el prisma es especialmente útil cuando necesita definir regiones en su aplicación.

+0

También puede combinar ambos. –

2

MVVM Light es la mejor opción ....!

+2

Debe explicar por qué MVVM Light es mejor que Prism. –

Cuestiones relacionadas