Bonjour,
J'ai une petite question sur l'implémentation de INotifyPropertyChanged.
Certain il l'implante au niveau du modèle, d'autre sur le vue-modèle.
Lequel des 2 il est plus pertinent?
Merci d'avance
Bonjour,
J'ai une petite question sur l'implémentation de INotifyPropertyChanged.
Certain il l'implante au niveau du modèle, d'autre sur le vue-modèle.
Lequel des 2 il est plus pertinent?
Merci d'avance
Question un peu épineuse ! Ma réponse : ça dépend du scénario.
Personnellement je dirais qu'on devrait éviter au maximum d'utiliser cette interface dans le Model, mais il y a des scénarios où ça devient nécessaire, et dans ce cas, il ne faut pas hésiter à le faire, mais, encore une fois, seulement si c'est nécessaire.
Par exemple dans le cas d'une application où on utilise un flux (financier par exemple) comme source de données, là on va sûrement avoir besoin de cette interface au niveau du Model, et également au niveau du ViewModel. Par contre, si je réalise un simple blog, je ne pense pas qu'il soit utile de le faire, on peut alors se contenter de ne l'utiliser qu'au niveau du ViewModel.
Enfin, je terminerai en disant que INotifyPropertyChanged n'est pas une interface destinée à être utilisée que dans les interfaces graphiques, donc il n'y a pas d'inconvénient à l'utiliser ailleurs que dans le ViewModel. Mais pour moi, son implémentation dans le Model ne doit être réservée qu'à certains scénarios qui en ont réellement besoin. Disons que c'est plutôt un principe.
Less Is More
Pensez à utiliser les boutons
,
et les balises code
Desole pour l'absence d'accents, clavier US oblige
Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.
Merci pour ta réponse.
Et si on utilise entity comme modèle ça change quelque chose?
A part si tu utilises EF Code First (où tu devras implémenter toi même INotifyPropertyChanged), Entity Framework en mode Model First et DataBase First implémenteront automatiquement INotifyPropertyChanged dans chacune des classes générées.
Pour ma part, concernant le INotifyPropertyChanged, je l'implémente quasiment systématiquement dans le ViewModel ET dans le Model. Tout simplement parce que dans mes interfaces, je veux que chacun de mes objets reflètent les changements au niveau de l'interface ainsi que chaque propriété de ces objets soient mises à jour au changement.
Comme dit précédemment, ça dépend de ce que tu souhaites. N'hésite pas à l'implémenter si tu en as besoin c'est tout ce que je peux te dire
Partager