IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Framework .NET Discussion :

Comment utiliser un publish/suscriber dans ma couche métier


Sujet :

Framework .NET

  1. #1
    Membre habitué Avatar de adrienfehr
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 203
    Points : 168
    Points
    168
    Par défaut Comment utiliser un publish/suscriber dans ma couche métier
    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
    C'est en se plantant qu'on devient cultivé

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    qu'est-ce que tu appelles un "publish/subscriber" ?

  3. #3
    Membre habitué Avatar de adrienfehr
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 203
    Points : 168
    Points
    168
    Par défaut
    Une classe A (non pas la voiture , 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é.
    C'est en se plantant qu'on devient cultivé

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    il suffit de déclarer l'évènement en statique

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    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...

  5. #5
    Membre habitué Avatar de adrienfehr
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 203
    Points : 168
    Points
    168
    Par défaut
    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 !
    C'est en se plantant qu'on devient cultivé

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 273
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 273
    Points : 2 202
    Points
    2 202
    Par défaut
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/05/2006, 14h34
  2. [Langage]Comment utiliser une dll .NET dans VB6?
    Par BouB dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 13/04/2006, 14h20
  3. Comment utiliser le compte SYSTEM dans un fichier .bat
    Par DiabloZizi dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 02/03/2006, 14h45
  4. Comment utiliser des instructions SSE2 dans un code c++?
    Par alexIsBack dans le forum x86 32-bits / 64-bits
    Réponses: 7
    Dernier message: 22/02/2006, 19h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo