Por lo que he leído, parece ser una mejor práctica en MVVM para que cada Vista tenga su propio ViewModel correspondiente, lo cual tiene sentido, ya que se supone que ViewModel es el modelo de la Vista. En general, la reutilización de ViewModels por diferentes vistas parece desestimarse. Este es siempre el caso? De lo contrario, ¿cuáles son las pautas generales para determinar si un ViewModel se debe reutilizar de esta manera?¿Los ViewModels deben volver a usarse alguna vez por diferentes Vistas? ¿Si es así cuando?
Una situación que puedo pensar en dónde podría ser satisfactorio reutilizar un ViewModel con una vista diferente es cuando dos vistas utilizan exactamente los mismos datos del modelo y las vistas mismas representan los datos de manera diferente. Si las Vistas pueden manejar la representación de los mismos datos en diferentes formas, un ViewModel podría servir a cada Vista de manera efectiva.
No podría haberlo puesto mejor. No veo nada de malo en comenzar con la misma máquina virtual para múltiples vistas y luego dividirlas y/o extraer un antecesor común cuando surja la necesidad (recuerde YAGNI). –
Eso parece lógico. Gracias. – foven