Bonjour,
Je souhaite utiliser un publish/suscriber dans ma couche métier. Ce serait donc en pur dotnet (pas à partir de la wpf où c'est facilement réalisable)
Quelqu'un aurait une idée ?
Merci d'avance
Version imprimable
Bonjour,
Je souhaite utiliser un publish/suscriber dans ma couche métier. Ce serait donc en pur dotnet (pas à partir de la wpf où c'est facilement réalisable)
Quelqu'un aurait une idée ?
Merci d'avance
qu'est-ce que tu appelles un "publish/subscriber" ?
Une classe A (non pas la voiture :mouarf:, ok elle est nulle...) envoie un evenement (publish) et chaque classe qui s'est abonnée(subscribe) à cette évenement le recoit.
L'avantage par rapport au mecanisme traditionnel des évenements est que l'on a pas besoin d'une instance de la classe A pour pouvoir s'abonner à l'evenement souhaité.
il suffit de déclarer l'évènement en statique ;)
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public static event EventHandler MonEvenement; // méthode statique protected static void OnMonEvenement(object sender) { if (MonEvenement != null) MonEvenement(sender, EventArgs.Empty); } // méthode d'instance protected void OnMonEvenement() { OnMonEvenement(this); }
Et pour savoir quel instance a levé l'évènement, il suffit de regarder le paramètre sender...
LOL cela fait des années que j'utilise les evenements et je ne me suis jamais posé la question d'ajouter un "static" devant mon event !
Merci Tom ! :king:
Le framework spring présente l'avantage d'avoir des fonctionnalités de publish subsribe intéressantes.
http://www.springframework.net/doc-l...onality-pubsub
La notion de registre est inétressante car tu peux l'implémenter sans trop biaiser ton code existant, donc avoir une approche plus composant.