Dans mon application MVVM MVF, j'utilise un conteneur d'injection de dépendances. Lorsque je veux récupérer des données de mon modèle, j'utilise une interface asynchrone pour interroger le modèle et remplir ObservableCollection dans mon ViewModel (je l'ai compris grâce aux réponses à mes previous question).MVVM: Mise en cache des données pour ViewModels
Je suis à la recherche d'une meilleure solution pour gérer une situation suivante. Il y a une collection d'objets que je récupère de manière asynchrone à partir de mon modèle. Je veux utiliser les mêmes données pour construire des collections observables dans deux ViewModels différents, car je veux afficher ces données dans deux fenêtres différentes. Les objets de domaine de modèle vont être enveloppés dans différents objets ViewModel comme les wrappers doivent préparer les objets de domaine à afficher. Je ne souhaite pas extraire les données du modèle séparément dans chaque ViewModel, mais pour le faire une fois, car cela peut prendre du temps.
J'ai vu quelques exemples et partout un seul ViewModel est responsable de la récupération des données du service Model. Que dois-je faire pour utiliser les données une fois récupérées dans plus d'un ViewModel?
Je pense que je devrais introduire une autre couche d'abstraction entre mon Model et ViewModels qui gérera la mise en cache des données récupérées et chaque ViewModel qui souhaite utiliser ces données aura la dépendance à cette couche.
Est-ce une bonne idée?
Je l'ai maintenant, je me habitue aux services et je suis heureux à cause du découplage qu'ils fournissent. Merci. – madbadger