none
Preguntas sobre MVVM RRS feed

  • Pregunta

  • Hola, estoy aprendiendo sobre el modelo MVVM y tengo algunas inquietudes ...

    1) Una aplicacion WPF con el modelo MVVM no se trabaja con capas sino con carpetas [Model, View,ViewModel] ¿?


    • Editado nazOut jueves, 23 de febrero de 2012 11:36
    jueves, 23 de febrero de 2012 11:35

Respuestas

  • Hola Piiidro,

    No es así exactamente, lo que pasa que por cuestiones de facilitar ejemplos o en aplicaciones demo es muy común ver como el Model de MVVM pasa a ser una capa de datos...

    Esto no quiere decir que sea correcto, a la hora de la verdad todos los patrones heredados del Model Presenter, como es el caso de Model View ViewModel o de Model View Controller, son patrones de la capa de interfaz de usuario.

    Por lo que debajo de este patrón puede existir una capa de servicios distribuidos, de aplicación, un dominio, o una capa de negocio, otra de datos,... Eso ya dependerá de la arquitectura de tu aplicación en conjunto.

    Espero haberte aclarado un poco el concepto.

    Un saludo,


    Fernanando Escolar - http://www.programandonet.com/ - @fernandoescolar

    • Marcado como respuesta nazOut jueves, 23 de febrero de 2012 13:09
    jueves, 23 de febrero de 2012 11:51
  • Hola Piiidro.

    Los patrones y arquitecturas es un tema complejo debido a que no existe una regla de oro, tan solo estan ahi para apoyarte en tus desarrollos.

    por ejemplo, si tu aplicacion se va a basar solo en WPF y no va a crecer jamas de los jamases, lo puedes meter todo en carpetas y ya esta, o tambien para ejemplos como ha comentado Fernando.

    Ahora bien, si vas a desarrollar una aplicacion para multiples plataformas y que se pueda expandir, la cosa cambia, en este caso hay capas dentro de capas y se tienen que implementar bien, tanto las capas logicas como las fisicas (algo parecido a lo que ocurre en el arbol XAML, existe el logico y el visual).

    bien, como esto tiene mucha tela, te recomiendo encarecidamente que le eches un vistazo a estos 2 post de yeray, donde entenderas que en ciertas arquitecturas viene muy bien separar el M-V-VM en tres librerias diferentes aunque en sigan estando en la misma capa logica de tu arquitectura, sobretodo para rehusar el codigo. Basicamente una libreria no tiene por que representar una capa logica, puede representar una capa fisica.

    Bueno te dejo los post para no liarte:

    parte 1:

    http://geeks.ms/blogs/jyeray/archive/2010/10/25/compartiendo-c-243-digo-m-243-vil-web-escritorio.aspx

    parte 2:

    http://geeks.ms/blogs/jyeray/archive/2010/11/14/compartiendo-c-243-digo-m-243-vil-web-escritorio-2-2.aspx


    Saludos
    David González
    MCP, MCTS
    Visita mi Blog en: http://www.dgzornoza.com/


    • Editado David_González jueves, 23 de febrero de 2012 13:33
    • Marcado como respuesta nazOut jueves, 23 de febrero de 2012 14:14
    jueves, 23 de febrero de 2012 13:32

Todas las respuestas

  • Hola Piiidro,

    No es así exactamente, lo que pasa que por cuestiones de facilitar ejemplos o en aplicaciones demo es muy común ver como el Model de MVVM pasa a ser una capa de datos...

    Esto no quiere decir que sea correcto, a la hora de la verdad todos los patrones heredados del Model Presenter, como es el caso de Model View ViewModel o de Model View Controller, son patrones de la capa de interfaz de usuario.

    Por lo que debajo de este patrón puede existir una capa de servicios distribuidos, de aplicación, un dominio, o una capa de negocio, otra de datos,... Eso ya dependerá de la arquitectura de tu aplicación en conjunto.

    Espero haberte aclarado un poco el concepto.

    Un saludo,


    Fernanando Escolar - http://www.programandonet.com/ - @fernandoescolar

    • Marcado como respuesta nazOut jueves, 23 de febrero de 2012 13:09
    jueves, 23 de febrero de 2012 11:51
  • el caso de Model View ViewModel o de Model View Controller, son patrones de la capa de interfaz de usuario.

    * Esto quiere decir que el modelo solo se aplica a la capa de presentacion, las demas capas de negocio y datos las podre trabajar como siempre lo he hecho ¿? 

    jueves, 23 de febrero de 2012 12:55
  • Así debería ser :)


    Fernanando Escolar - http://www.programandonet.com/ - @fernandoescolar

    jueves, 23 de febrero de 2012 13:05
  • Disculparan mi insistencia pero ... quiero tener las cosas claras ( haciendo preguntas para complementar lo que voy leyendo por internet ) ..

    * La capa de presentacion ( que es donde estara el patron MVVM ) solo debe tener agregado como referencia la capa de negocio ó tambien es correcto que tenga agregado la capa de datos ¿?.

    jueves, 23 de febrero de 2012 13:15
  • Hola Piiidro.

    Los patrones y arquitecturas es un tema complejo debido a que no existe una regla de oro, tan solo estan ahi para apoyarte en tus desarrollos.

    por ejemplo, si tu aplicacion se va a basar solo en WPF y no va a crecer jamas de los jamases, lo puedes meter todo en carpetas y ya esta, o tambien para ejemplos como ha comentado Fernando.

    Ahora bien, si vas a desarrollar una aplicacion para multiples plataformas y que se pueda expandir, la cosa cambia, en este caso hay capas dentro de capas y se tienen que implementar bien, tanto las capas logicas como las fisicas (algo parecido a lo que ocurre en el arbol XAML, existe el logico y el visual).

    bien, como esto tiene mucha tela, te recomiendo encarecidamente que le eches un vistazo a estos 2 post de yeray, donde entenderas que en ciertas arquitecturas viene muy bien separar el M-V-VM en tres librerias diferentes aunque en sigan estando en la misma capa logica de tu arquitectura, sobretodo para rehusar el codigo. Basicamente una libreria no tiene por que representar una capa logica, puede representar una capa fisica.

    Bueno te dejo los post para no liarte:

    parte 1:

    http://geeks.ms/blogs/jyeray/archive/2010/10/25/compartiendo-c-243-digo-m-243-vil-web-escritorio.aspx

    parte 2:

    http://geeks.ms/blogs/jyeray/archive/2010/11/14/compartiendo-c-243-digo-m-243-vil-web-escritorio-2-2.aspx


    Saludos
    David González
    MCP, MCTS
    Visita mi Blog en: http://www.dgzornoza.com/


    • Editado David_González jueves, 23 de febrero de 2012 13:33
    • Marcado como respuesta nazOut jueves, 23 de febrero de 2012 14:14
    jueves, 23 de febrero de 2012 13:32