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

Langage Java Discussion :

Communication Inter Objet


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 170
    Par défaut Communication Inter Objet
    Bonjour, voila, je vous expose mon soucis :

    J'ai deux objets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ClassA(type toto)
    ClassB(type tata)
    J'instancie ces deux classes séparément dans une autre classe : ClassInterface

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ClassA A = new ClassA(monToto);
    ClassB B = new ClassB(maTata);

    Voila, maintenant, je veux pouvoir récupérer le paramètre de ma ClassA (à savoir monToto) directement dans ma ClassB pour le traiter...

    Je précise que je ne peux pas instancier ni l'une ni l'autre classes A ou B dans leur classes respectives car totalement indépendants...

    Effectivement, je pourrais aussi utiliser un controleur centrale que j'instancierai dans ClassInterface, mais je tiens particulièrement à instancier ces deux classes "séparément" dans mon Interface.

    Enfin, je veux aussi pouvoir traiter plusieurs instanciation de la classA (à savoir plusieurs paramètres monToto dans une seule (voir plusieurs) instanciation classB)

    Si vous avez une soluce avec le Designs Patterns qui va avec, je vous en remercierai bien

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par défaut
    Salut,

    C'est pas très très clair !
    Peut-être qu'avec du vrai code qui compile vraiment, et en indiquant ce que tu voudrais faire sans y parvenir, ça le serait plus ?

    MAT.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 170
    Par défaut
    Citation Envoyé par Mat007
    Salut,

    C'est pas très très clair !
    Peut-être qu'avec du vrai code qui compile vraiment, et en indiquant ce que tu voudrais faire sans y parvenir, ça le serait plus ?

    MAT.
    ok je raccourcis le code car il est un peu compliqué (c'est des widget goo...) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    public class objA
    {
        private Widget widgA
     
        public objA(Widget w)
        {
          this.widgA=w;
        }
     
        public void traiterWidgetB()
        {
           //C'est là que je veux traiter le WidgetB (ou collection)
        }
    }
     
    public class objB
    {
        private Widget widgB
     
        public objB(Widget w)
        {
          this.widgB=w;
        }
     
        public void traiterWidgetA()
        {
           //C'est là que je veux traiter le WidgetA (ou collection)
        }
    }
     
     
    public class monInterface
    {
        public monInterface()
        {
           Widget wid1 = new Widget()
           Widget wid2 = new Widget()
           Widget wid3 = new Widget()
     
           objA A1 = new objA(wid1)
           objA A2 = new objA(wid2)
           objB B = new objB(wid3)
     
           // Ici, comprenez que je ne veux justement pas de paramètre !
           A2.traiterWidgetB()
           B.traiterWidgetA()
        }
    }

    Le but du jeu est de ne pas toucher à la classe monInterface

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par défaut
    Re,

    Voilà le premier truc qui me vienne à l'esprit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    public class objA
    {
        private Widget widgA
        private static final List widgets = new ArrayList();
     
        public List getWidgets()
        {
          return widgets;
        }
     
        public objA(Widget w)
        {
          this.widgA=w;
          widgets.add( w );
        }
     
        public void traiterWidgetB()
        {
          List widgetsB = objB.getWidgets();
           //C'est là que je veux traiter le WidgetB (ou collection)
        }
    }
     
    public class objB
    {
        private Widget widgB
        private static final List widgets = new ArrayList();
     
        public List getWidgets()
        {
          return widgets;
        }
     
        public objB(Widget w)
        {
          this.widgB=w;
          widgets.add( w );
        }
     
        public void traiterWidgetA()
        {
          List widgetsA = objA.getWidgets();
           //C'est là que je veux traiter le WidgetA (ou collection)
        }
    }
    Cela dit je tiens à signaler que personnellement je m'arrangerai vraiment pour pouvoir faire autrement
    Est-ce que tu es vraiment sûr que tu as besoin d'une telle construction ? Ne vaut-il pas mieux prendre un peu de recul et revoir le design général ?

    MAT.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 170
    Par défaut
    Citation Envoyé par Mat007
    Re,

    Voilà le premier truc qui me vienne à l'esprit :


    Cela dit je tiens à signaler que personnellement je m'arrangerai vraiment pour pouvoir faire autrement
    Est-ce que tu es vraiment sûr que tu as besoin d'une telle construction ? Ne vaut-il pas mieux prendre un peu de recul et revoir le design général ?

    MAT.
    bah sisi, je veux bien, mais je vois pas trop comment peut on faire...

    En faite, j'explique mon projet, je dois faire un Drag And Drop pour Google Web tool Kit...

    En faite, pour les cas d'utilisation, j'en ai 3 : onDrag (objA), onMove (invisible) et onDrop (objB) ; derrière on alimente ces différents cas avec différentes possibilités : selectionner seulement les images et les label pour dropper, ajouter une bordure, agrandire l'élément au Drag, ou encore bloquer un élément dans un conteneur onMove, etc...

    Bref, l'utilisateur instancie dans son Interface une classe Drop (élément à bouger) et Drag (élément récepteur)...

    Voila si tu peux me donne une c'tite piste pour le design ? (et si tu trouves le nom d'un desin pattern que je pourrais appliquer)

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par défaut
    Salut,

    Je ne connais pas du tout Google Web tool Kit, les primitives fournies pour gérer le drag&drop sont celles que tu donnes ?
    Genre tu enregistres un objet qui implémente une interface avec onDrag( objFrom ), onMove() et onDrop( objTo ) pour recevoir les événements ?
    C'est pas plutôt cet objet qu'il faudrait travailler pour parvenir à faire ce que tu veux ?
    Là comme ça, sans plus d'informations, je verrai bien un pattern 'state', mais autant j'ai rien compris et c'est pas du tout ça

    MAT.

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 23/02/2014, 15h22
  2. Vos communications inter-objets et/ou threads
    Par peter27x dans le forum Langage
    Réponses: 1
    Dernier message: 29/10/2008, 11h13
  3. communication inter-processus
    Par benoit70 dans le forum MFC
    Réponses: 1
    Dernier message: 14/04/2005, 09h55
  4. Synchronisation inter objet (du fils vers le père)
    Par Yellowmat dans le forum MFC
    Réponses: 2
    Dernier message: 13/04/2005, 11h19
  5. [MFC] communication inter exe
    Par Kevgeii dans le forum MFC
    Réponses: 2
    Dernier message: 06/01/2004, 16h47

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