7

Algunos hechos/supuestos:¿Ruby on Rails con Draper o Apotomo es MVVM?

  1. Se dice que Ruby on Rails siguiente patrón de arquitectura MVC.
  2. MVVM (Model View ViewModel), que se deriva de MVC, ofrece una capa de abstracción, donde todos los botones, etiquetas y enlaces (Vista) están separados de la forma en que los modelos exponen los datos (ViewModel).
  3. Algunos marcos de JavaScript, que se destacan en la creación de aplicaciones de una sola página, aprovechan el patrón de MVVM (por ejemplo, Knockout.js).
  4. Si marcamos Ruby toolbox, veremos varias soluciones para presentadores como Draper y Apotomo que funcionan solo como una característica de ViewModel.

suponiendo que no hay b en mi sección de 'hechos', no es una cosa que me molesta:

  • ¿Podemos llamar a los carriles con Draper, Apotomo (u otro presentador/decorador) una solución MVVM ?
  • ¿Podemos decir que estamos siguiendo el patrón de MVVM con Rails, si encapsulamos los datos del modelo en forma de recipiente de decorador/presentador con Draper?
  • ¿O hay algo que falta y no podemos llamarlo MVVM, como Knockout.js?

Gracias por su conocimiento.

Respuesta

3

No en mi opinión ... Creo que MVVM crea objetos de vista específicos que están desconectados del objeto de datos/dominio subyacente.

Con el patrón de presentador Rails, estos presentadores típicamente envolverán el objeto de registro activo y le agregarán métodos que pertenecen a la presentación.

+0

El presentador/decorador está muy bien acoplado con una capa de modelo, es seguro el caso con Draper. Estoy de acuerdo. ¿Pero qué hay con Apotomo? Imagínese, está usando Apotomo para representar tablas (digamos higcharts.com). Usted lo codifica para que el widget apotomo tome como una serie de datos param (solo etiquetas y números) y lo muestra de una manera predefinida. ¿El enfoque de este tipo cumple con sus expectativas sobre la "desconexión de la capa del modelo"? Gracias por tus respuestas y opiniones, ¡lo aprecio! – socjopata

+0

@socjopata Bueno, creo que si crearas un objeto view y lo enviaras a apotomo, entonces seguro ... pero no creo que apotomo requiera esta desconexión. –

+1

Esperaba un poco más de discusión con otros usuarios de stackoverflow sobre este asunto. Sin embargo, "la marca verde" le pertenece a usted. Gracias por sus opiniones :) – socjopata