Supongamos que tengo una clase llamada Customer
. Ahora necesito presentar al cliente a la vista. Así que creé CustomerViewModel
para usar en encuadernación. Estoy buscando la mejor manera de crear la clase CustomerViewModel
. A continuación están mis pensamientos sobre crearlo.La mejor manera de crear un ViewModel en MVVM
1 - Cree nuevamente todas las propiedades en el cliente en el modelo de vista. Inyecte la instancia del cliente en el modelo de vista y cada propiedad recuperará el valor de este objeto del cliente. La ventaja de este método es que puedo crear una clase base común para todos los modelos de vista y tener una funcionalidad común descargada allí. La desventaja será el tiempo requerido para crear todas las propiedades nuevamente en el modelo de vista y realizar el mantenimiento.
2 - Derive el modelo de vista del cliente. Así que tengo todas las ventajas del cliente en el modelo de vista. Pero esto no me permitirá usar una clase base común y poner allí una lógica de modelo de vista común.
Así que me pregunto cuál será el mejor método para crear un modelo de vista? ¿Hay algún método alternativo que sea mejor de lo que pensaba?
¿Cuánto tiempo demora para que repita las propiedades del modelo en el modelo de vista? Ser capaz de poner un convertidor o desencadenar con fines de visualización hace que valga la pena los minutos extra para mí. Si tiene una vista compleja con muchos controles, agregue el modelo como una propiedad en el modelo de vista y ligue a Model.Property en la vista. – adrianm
Me mantendría alejado del n. ° 2. No creo que siempre encuentres una asignación clara entre una clase de modelo específica y un modelo de vista.Para la mantenibilidad me gustaría ir con alguna otra clase que lógicamente podría sentarse frente al modelo personalizado, pero también podría exponer a la vista otros tipos de modelos en el futuro. –