Nous sommes sur le point d'écrire notre première application WPF et nous nous familiarisons avec le modèle MVVM. Nous avons construit de nombreuses applications Winform et avons une architecture qui a été très réussie pour nous. Nous avons un peu de mal à traduire cette architecture ou à déterminer où certaines parties de notre architecture s'intègrent dans le modèle MVVM.
Historiquement, nous avons un Gui (l'exe principal) qui communique ensuite avec une DLL BusinessLogic. BusinessLogic communique avec une DLL DAL via un service Web et le DAL interagit avec la base de données. Les DAL, BusinessLogic et GUI font tous référence à la même DLL BusinessObjects.
Une partie de la transition vers MVVM est assez simple. Notre Gui contiendra toujours les vues, nos BusinessOjbects contiendront toujours le modèle et notre DAL interagira toujours avec la base de données (bien que la technologie pour les implémenter puisse changer).
Ce dont nous ne sommes pas sûrs, c'est de notre composant BusinessLogic. Historiquement, cela fournirait des fonctions à l'interface graphique pour appeler puis remplir les contrôles dans les vues (c'est-à-dire GetCustomerList qui retournerait une liste d'objets Customer ou les fonctions CRUD typiques).
Le principal problème que nous avons est de savoir si le modèle MVVM nécessiterait un composant supplémentaire pour héberger les ViewModels ou si nous modifions simplement notre façon de penser et migrons ce que nous avons utilisé comme composant BusinessLogic vers les ViewModels?
Notre composant BusinessLogic représente-t-il les ViewModels?