[WPF/Silverlight] Comment choisir entre INotifyPropertyChanged et DependencyProperty ?
Les DependencyProperty et l’interface INotifyPropertyChanged possède la même particularité: il s’agit de 2 mécanismes utilisés pour permettre à votre application de notifier l’interface graphique qu’une propriété a été modifiée.
Bien souvent, on peut se demander quelle technique il convient d’utiliser dans son développement. Il faut savoir qu’il n’y a pas de “véritable” réponse à ce genre de problèmatique, il s’agit plus d’un choix personnel 
Personnellement, je procède de la sorte: si la classe qui doit notifier l’interface graphique fait elle-même partie, d’une manière ou d’une autre, de l’IHM (par exemple, une propriété sur un custom control/user control), alors j’utilise une DependencyProperty. Dans le cas contraire, si ma classe est simplement utilisée pour représenter un objet métier, alors j’implémente l’interface INotifyPropertyChanged.
Un des points qui peut “justifier” ce choix, c’est que l’utilisation des DependencyProperty n’est possible qu’après avoir référencé WindowBase.dll (en WPF) ou System.Windows.dll (avec Silverlight). Certes, lorsque l’on travaille avec un seul projet, cela ne pose pas de problèmes mais dans le cas où l’on dispose d’une solution contenant divers projets (dont un pour vos objets métier), on peut-être tenté de minimiser au maximum les dépendances.
Et vous, quelle méthodologie employez-vous pour cette problématique ?
A+
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :