Bonjour,
Je développe une application winform où plusieurs fenêtres présentent les mêmes objets qui implémentent les interfaces qui vont bien pour le databinding. Pour assurer la synchronisation de mes vues et pour effectuer mes cas d'utilisateur j'ai un assez grand nombre de eventHandler. Je suis pas sûr de la qualité de ma manière de gérer mes eventHandler et voudrait donc avoir des avis.
Notemment dans une fenetre je crée des cycles d'évenement car j'ai des handler qui réagissent à la vue et d'autre au modèle comme illustré en psuedo-code ci après.
Je casse les cycles en "débranchant" les eventHandler qui m'embêtent avant un traitement, puis en les rebranchant après. Au besoin j'appelle une metode de raifraichissement de la vue.
Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 AddHandler CurrentUser.PropertyChanged, Addressof CurrentUser_PropertyChanged AddHandler ComboPays.SelectedValueChanged, Addressof ComboPays_SelectedValueChanged
Cette métode marche bien pour l'instant.
Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 sub ComboPays_SelectedValueChanged (...) RemoveHandler CurrentUser.PropertyChanged, Addressof CurrentUser_PropertyChanged CurrentUser.DoSomeThing(unObjet) 'un traitement Update_CurrentVue() AddHandler CurrentUser.PropertyChanged, Addressof CurrentUser_PropertyChanged end sub
Du fait que ce n'est pas toujours le même handler qui doit être débrancher/rebrancher,j'ai envie de regrouper tous mes handler pour un objet dans des métodes pour les débrancher/rebrancher. du style
Je pourrais ainsi me garantir d'avoir briser tous les cycles et que tout est reinitialiser correctement.
Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 sub AddHandler_pour_CurrentUser sub RemoveHandler_pour_CurrentUser
le nombre de handler par métode n'a rien d'affolant (3-4) mais je me demande si cette métode présente des inconvénients.
Il y a un cas où il y aurait de nombreux débrancher/rebrancher c'est quand je change l'instance "Parent" de la vue avec une structure hypothétique du style
MonParent
|-Une Collection Fille
|-Une Collection Fille
|-Un Objet Fils
|-encore d'autre
J'aimerai bien avoir des avis, en espérant que ce que j'ai décrit est compréhensible.
Dom
PS: je commence à regarder des découplements basés sur le pattern "Command" mais j'aimerai utiliser le moins d'abstraction possible.
Partager