Maison >développement back-end >C++ >ViewModel ou Model : où INotifyPropertyChanged doit-il se trouver dans MVVM ?
Où INotifyPropertyChanged doit-il être implémenté dans MVVM : ViewModel ou Model ?
Lors du développement d'applications MVVM, la question se pose de savoir si le ViewModel ou le Model devrait implémenter l'interface INotifyPropertyChanged. Alors que de nombreux exemples montrent le modèle implémentant cette interface, l'exemple CommandSink de Josh Smith adopte une approche différente en demandant au ViewModel de l'implémenter. que le modèle ne doit pas implémenter INotifyPropertyChanged, car il n'est pas spécifique à l'interface utilisateur. Cependant, cet argument néglige le fait que cette interface se contente de notifier les modifications, quelle que soit l'implication de l'interface utilisateur. Par conséquent, il convient à d'autres cas d'utilisation, tels que le déclenchement d'une logique non-UI.
Raison d'être de l'implémentation de ViewModel INotifyPropertyChanged
D'autres prennent en charge l'implémentation de ViewModel INotifyPropertyChanged, car il simplifie la liaison des données. Cela élimine le besoin de gestionnaires d'événements complexes sur le modèle ou de propagation des modifications de propriétés du ViewModel au modèle.
Existe-t-il une approche standard ?
Malgré ces arguments, il n’y a pas de réponse définitive à cette question. MVVM permet une flexibilité dans la mise en œuvre. Tenez compte des facteurs suivants lorsque vous prenez votre décision :
Performances :
Dans la plupart des cas où le modèle ne reçoit pas de mises à jour externes, l'implémentation de INotifyPropertyChanged dans le modèle peut créer une surcharge de performances inutile.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!