En una aplicación wpf, ¿cuál es la responsabilidad del modelo de vista? ¿Puede gestionar todo o solo representar la vista y enviar mensajes/eventos a la capa empresarial y obtener información de ella?¿Debe un modelo de vista contener lógica?
Respuesta
Respuesta corta, sí.
Respuesta larga ...
Los principales objetivos del-View-ViewModel Modelo patrón (MVVM) son: las pruebas unitarias
- Permiso de la lógica de la vista. Estas son pruebas unitarias aplicadas a la capa ViewModel que se ejecuta sin una Vista asociada a ella.
- Facilite el flujo de trabajo desarrollador-diseñador al minimizar la cantidad de código subyacente asociado con sus archivos XAML.
El patrón MVVM también proporciona separación de las preocupaciones entre vista lógica y la lógica de negocio de la misma manera que la MVC y su patrón de interfaz de usuario hacen. Sin embargo, los 2 puntos anteriores son lo que realmente define el patrón MVVM.
Ahora, pensando dónde ubica la lógica de su negocio. Si lo coloca en su ViewModel, ¿sigue siendo válido el n. ° 1 & n. ° 2 anterior? Sí. Si lo coloca en una capa separada, ¿siguen siendo válidos los números 1 y 2? Sí.
Por lo tanto, en ambos casos todavía se están logrando los dos objetivos principales de MVVM. La ruta que toma realmente depende de la complejidad de su aplicación y del número de desarrolladores que trabajan en ella. A medida que estos dos factores aumentan, te beneficiarás de tener 3 capas ... ¡o más!
- 1. asp.net mvc viewmodels. Cuánta lógica (si hay alguna) deberían contener
- 2. Restricción debe contener un primer elemento de diseño NSLayoutConstraint
- 3. ¿Cómo se mantiene la lógica de vista fuera del modelo y la lógica de negocios fuera del modelo de vista en MVVM?
- 4. Actualizando un modelo de vista desde otro modelo de vista
- 5. RFC 1738: URL: ¿el host debe contener un punto?
- 6. Un texto JSON debe contener al menos dos octetos
- 7. ¿Dónde debe implementarse la lógica de validación?
- 8. MVC 3 - Controladores y ViewModels - ¿Cuál debería contener la mayor parte de la lógica de negocios?
- 9. ¿El perfil de un usuario debe ser un modelo separado?
- 10. Cuando el enlace de modelo incluye un bool, ¿qué valor de cadena debe contener la colección de formulario?
- 11. Validación: modelo o modelo de vista
- 12. MVP (Presentador de vista de modelo) o MVC (Controlador de vista de modelo)
- 13. Responsabilidad de un modelo de vista
- 14. MVC: Controlador de vista de modelo: ¿la vista llama al modelo?
- 15. Forma correcta de acceder a un modelo de vista desde un modelo de vista existente
- 16. Establecer un valor predeterminado: ¿lógica de presentación o lógica comercial?
- 17. Lógica de ramificación en una vista MVC
- 18. Aplicaciones WCF/Cliente: ¿a dónde debe ir la lógica comercial?
- 19. MVC donde debería ir la lógica Controlador o el Modelo de Vista
- 20. JavaScript - Marque una cadena que DEBE contener otra cadena
- 21. ¿Tiene un ViewModel su propia lógica?
- 22. MVVM duplicar, Características del modelo en modelo de vista
- 23. Razor Vista del motor: un árbol de expresión no puede contener una operación dinámica
- 24. cómo llenar un modelo de vista en ASP.NET MVC3
- 25. Controlador de vista dividida debe ser controlador de vista raíz
- 26. ¿Debe contener un proyecto de Visual Studio en más de una solución?
- 27. ¿Qué información debe contener un comentario de confirmación de archivo SVN/Versión?
- 28. Facebook Crear un nuevo error de la aplicación: "no debe contener información de protocolo".
- 29. MVC modelo de vista genérico
- 30. Verificar la salida de "comando" debe contener un bloqueo inesperado con NilClass
Sí - http://stackoverflow.com/questions/1405739/mvvm-tutorial-from-start-to-finish – Josh