2010-12-10 14 views
8

acabo de comenzar el aprendizaje de .NET, WPF, WCF y MVVM, y mi pregunta es:¿Implementando su propio MVVM vs. usando un marco MVVM?

¿Es mejor poner en práctica propia MVVM o usar un marco MVVM como conjunto de herramientas MVVM Light, Prisma (que es demasiado avanzado y tiene un marco de unidad (no estoy seguro de cómo ayuda en el desarrollo))?

+2

Si usted tiene recién comencé a aprender .Net, entonces lo último en lo que debes pensar es en reinventar Frameworks que han sido creados por personas MUY experimentadas. –

+1

Esta pregunta similar hecha por mí también está teniendo algunas buenas respuestas a la pregunta de MVVM o PRISM - http://stackoverflow.com/questions/6251821/custom-mvvm-implementation-vs-prism – akjoshi

Respuesta

6

Si realmente quiere entender el funcionamiento interno de MVVM, intente implementar el suyo.

Si ya comprende los conceptos y no siente la necesidad de reinventar la rueda, utilice un Marco. Prism es una opción sólida ... hazlo.

+0

gracias por la respuesta rápida. Intenté implementar MVVM desde cero. Yo diría que tengo el concepto aparte de algunas pequeñas cosas (que necesito profundizar más) pero MVVM como concepto lo tengo. Pero, ¿cuál debería ser mi elección ahora? mi propio MVVM/Prism/Light, considerando que la aplicación no es una gran aplicación. – WhoIsNinja

+0

@NSingla - Entonces, a menos que intente desafiarse a sí mismo para crear un Marco MVVM para competir con Prism ... ¡simplemente use un Framework! No hay razón para hacerte la vida más difícil. –

+0

genial, gracias entiendo tu punto. Y si me meto en Prism, ¿necesito entender Unity/MEF antes de intentar implementar MVVM? – WhoIsNinja

3

No reinventaría la rueda, evaluaría los marcos y solo si esos no satisfacen sus requisitos debería considerar escribir su propio marco.

+0

Esto es correcto, y no solo se aplica a MVVM. A menos que esté agregando valor, reutilice, reutilice, reutilice y concéntrese en la lógica de su negocio principal en lugar de cosas de infraestructura que otros ya han hecho. – jason

3

me gustaría sugerir que mirar esta charla: Build Your Own MVVM Framework

(si todavía no tienes)

decidí leer algunos recursos de diversos marcos primero, y luego he descargado algún proyecto de ejemplo basado en Caliburn Micro para entender cómo funcionaban las cosas

Caliburn es un gran marco y proporcionan todo lo que necesita para empezar y dar un paseo profundamente en MVVM

le sugeriría a empezar usándolo, y tal vez, cuando te sientas lo suficientemente cómodo, podrías intentar personalizarlo o simplificarlo para que se adapte a tus necesidades/estilo, entonces, si tienes tiempo, construirás el tuyo propio)

EDITAR

MediaOwl es el mejor proyecto de código abierto que he encontrado para ver una buena puesta en práctica de Caliburn Micro en acción, asegúrese de comprobar que funciona si va a terminar eligiendo este marco

+0

¿Es más fácil que implementar Prism/Light y funciona? – WhoIsNinja

+0

http://www.japf.fr/silverlight/mvvm/index.html esta herramienta de comparación muestra que Caliburn micro no es una buena opción, de acuerdo con esto, ya sea Caliburn o Light debería ser la elección. Aunque no tiene Prism en la lista. – WhoIsNinja

+1

Caliburn Micro es simple pero no es un armazón básico, es poderoso porque tiene buenas funcionalidades, MVVM Light es bastante básico y ayuda a comprender el patrón. Es cierto que Caliburn Micro no tiene TODAS las funcionalidades que necesitará en MVVVM, pero es mucho más fácil de parchar/extender que la versión completa de Caliburn. Esa fue mi impresión cuando incluí el código fuente de los marcos en mi proyecto para tener el control sobre él si alguna vez necesité modificar algún comportamiento para adaptarlo mejor a mis necesidades, o para modificar algunas convenciones. – BFil