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

C# Discussion :

Notification de Creation/Suppression/modification de classes


Sujet :

C#

  1. #1
    Membre actif
    Homme Profil pro
    Création de jeux video (en amateur)
    Inscrit en
    Mars 2003
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Création de jeux video (en amateur)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 408
    Points : 260
    Points
    260
    Par défaut Notification de Creation/Suppression/modification de classes
    Bonjour,

    comment faut-il faire pour être notifié par un évenement de la création d'une instance de classe, de sa suppression, de la modification de la valeur d'une de ses variables membres, etc... ?

    D'avance merci
    ZTAB (Ze Text Adventure Builder)

    Logiciel très intuitif et ergonomique de création de jeux d'aventure et de livres dont vous êtes le héros.

    http://sites.google.com/site/ztabsoft/

  2. #2
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    256
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Décembre 2008
    Messages : 256
    Points : 311
    Points
    311
    Par défaut
    C'est le design pattern Observer qu'il te faut implémenter.

    http://dofactory.com/Patterns/PatternObserver.aspx
    Il y a toujours au moins deux solutions à un problème.

    http://software-design-development.blogspot.com/

  3. #3
    Membre actif
    Homme Profil pro
    Création de jeux video (en amateur)
    Inscrit en
    Mars 2003
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Création de jeux video (en amateur)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 408
    Points : 260
    Points
    260
    Par défaut
    Hum... Alors en fait je ne souhaite pas du tout modifier quoique ce soit dans les classes en question, imagine que je ne les connaisse pas à l'avance et qu'elle proviennent d'une librairies externes dont je n'ai pas le code source.

    Je veut juste pouvoir être notifié en temps réel de leur création/suppression/modification des valeurs. Je suppose que je dois me baser sur de la réflexion, mais je ne sais pas comment faire.
    ZTAB (Ze Text Adventure Builder)

    Logiciel très intuitif et ergonomique de création de jeux d'aventure et de livres dont vous êtes le héros.

    http://sites.google.com/site/ztabsoft/

  4. #4
    Rédacteur
    Avatar de Greybird
    Inscrit en
    Juin 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 673
    Points : 1 271
    Points
    1 271
    Par défaut
    Si tu ne souhaite pas modifier tes classes, il va te falloir développer des wrappers (enveloppes) autour d'elles, qui présenteront le même contrat (soit implémentation de la même interface, soit dérivation et surcharge), et qui implémenteront les mécanismes de notification et délègueront ensuite à une instance de la classe donnée.

    Pour que ce soit transparent pour l'utilisateur, l'idéal est que ce soit une factory qui soit responsable de la création des instances, ce qui te permet de masquer au code utilisant les classes de base la présence de cette couche de notification (et pourquoi pas de configurer si tu souhaites sa présence ou pas).

    Note que pour la création et la modification de valeurs ça se fera très bien, mais pour la suppression, tu ne pourras pas être assuré d'une notification a priori.

  5. #5
    Membre actif
    Homme Profil pro
    Création de jeux video (en amateur)
    Inscrit en
    Mars 2003
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Création de jeux video (en amateur)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 408
    Points : 260
    Points
    260
    Par défaut
    Ca ca va bien, quand c'est toi qui instancie, mais si tu supposes que ca s'instancie tout seul à des moments que tu ne maitrises pas. Faut savoir quand ca a été instancié pour pouvoir créer le wrapper qui pointe dessus. d'ou le besoin d'être notifié de l'instanciation de l'objet d'origine.

    Mais y'a pas quelques choses avec System.diagnostic ou un truc dans le genre qui permettrait de faire ca ?

    J'ai vu des softs qui peuvent dessiner un diagramme de séquence rien qu'en analysant le comportement d'un programme .net au runtime, doit forcément moyen de le faire par réflexion... non ?
    ZTAB (Ze Text Adventure Builder)

    Logiciel très intuitif et ergonomique de création de jeux d'aventure et de livres dont vous êtes le héros.

    http://sites.google.com/site/ztabsoft/

  6. #6
    Rédacteur
    Avatar de Greybird
    Inscrit en
    Juin 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 673
    Points : 1 271
    Points
    1 271
    Par défaut
    Oui, tout à fait, mais là tu ne joues pas dans la même cour.

    Il te faut jeter un oeil à l'API Profiling : http://msdn2.microsoft.com/en-us/library/ms233146.aspx

    Note que je ne l'ai jamais utilisée pour ma part, donc je ne peux pas t'aider plus que via ce pointeur.

  7. #7
    Membre actif
    Homme Profil pro
    Création de jeux video (en amateur)
    Inscrit en
    Mars 2003
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Création de jeux video (en amateur)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 408
    Points : 260
    Points
    260
    Par défaut
    Arf, oui on est bien bas là ...

    Y'a vraiment rien dans System.diagnostic ?
    ZTAB (Ze Text Adventure Builder)

    Logiciel très intuitif et ergonomique de création de jeux d'aventure et de livres dont vous êtes le héros.

    http://sites.google.com/site/ztabsoft/

  8. #8
    Rédacteur
    Avatar de Greybird
    Inscrit en
    Juin 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 673
    Points : 1 271
    Points
    1 271
    Par défaut
    Citation Envoyé par Harry_polin Voir le message
    Y'a vraiment rien dans System.diagnostic ?
    Non

  9. #9
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    256
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Décembre 2008
    Messages : 256
    Points : 311
    Points
    311
    Par défaut
    Y'a quand même un truc que tu ne nous a pas expliqué correctement.
    Comment ton système est-il organisé, et comment est-tu connecté à ce composant qui crée les classes dont tu parles ?

    A mon avis, ton problème n'est pas un problème de développement mais un problème d'architecture.
    Il y a toujours au moins deux solutions à un problème.

    http://software-design-development.blogspot.com/

  10. #10
    Membre actif
    Homme Profil pro
    Création de jeux video (en amateur)
    Inscrit en
    Mars 2003
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Création de jeux video (en amateur)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 408
    Points : 260
    Points
    260
    Par défaut
    Il y a modèle de données + son contrôleur qui sert au runtime, le tout dans une libriairie tierce sur laquelle je n'ai pas la main.

    Je dois créer un éditeur au dessus de ça, ce que je fais via des bindingSources. L'éditeur doit afficher et modifier les données, même au court du runtime. Or, si ce qui est créé par l'éditeur via les binding source, se retrouve bien dans le runtime, la réciproque n'est pas vraie.

    C'est un problème d'architecture au sens ou les modèles fournissent en général l'API de notification correspondant aux Creation, Update et Destroy, là non. Mais je ne peux pas agir dessus, donc il me faut observer sans être intrusif.
    ZTAB (Ze Text Adventure Builder)

    Logiciel très intuitif et ergonomique de création de jeux d'aventure et de livres dont vous êtes le héros.

    http://sites.google.com/site/ztabsoft/

Discussions similaires

  1. [MySQL] suppression-modification base via php
    Par mangamanga dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 16/06/2006, 21h52
  2. [Classloader]mon progr ne marche plus après modif des *.class
    Par Melchisedec dans le forum API standards et tierces
    Réponses: 16
    Dernier message: 30/04/2006, 20h48
  3. creation d'objet de classe a partir de string
    Par mencaglia dans le forum C++
    Réponses: 1
    Dernier message: 14/03/2006, 09h56
  4. Réponses: 25
    Dernier message: 04/12/2004, 12h06
  5. [info] suppression cache fichiers .class
    Par nicolas581 dans le forum Applets
    Réponses: 3
    Dernier message: 06/08/2004, 11h39

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