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

Design Patterns Discussion :

[Java] Pattern pour la communication IHM Métier


Sujet :

Design Patterns

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 15
    Par défaut [Java] Pattern pour la communication IHM Métier
    Bonjour,
    Je suis en train de creer un logiciel en java et j'aurais besoin d'un avis pour voir si je me trompe sur un point.
    Je voulais utiliser Observer/Observable pour faire communiquer la partie IHM et la partie Métier.
    Seulement étant donné que l'extends est limité, j'ai utilisé des classes internes du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
         
    /* Classe interne qui fait observer les modifications */
    class Observe extends Observable{
        public void notifier() {
            super.setChanged();
            super.notifyObservers();
        }
        public void notifier(Object p) {
            super.setChanged();
            super.notifyObservers(p);
         }           
    }
    J'aurais aimé avoir votre avis sur la pertinence de cette méthode.

  2. #2
    Membre chevronné Avatar de broumbroum
    Profil pro
    Inscrit en
    Août 2006
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 406
    Par défaut
    je comprends pas bien le terme classe interne. As-tu un Observer pour chaque "Observe"? Sinon le code est clair. Tu peux meme supprimer les appels "super" par des appels plus courts: setChanged() et notifyObservers()

  3. #3
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 15
    Par défaut
    merci pour avoir déplacé au bon endroit

    En fait il y a qu'un seule classe Observer qui en observe plusieurs. Dans ces dernières, j'ai opté pour créer une classe à l'intérieur de la classe qui à cette tete là.
    Ma question est de savoir si c'est une bonne solution, ou s'il vaut mieux creer une seule classe sous-classe d'Observable, une sorte de gestionnaire.
    Pour résumer, j'ai les classes A,B,C qui implemente ce code et qui sont écoutés par D. N'est il pas mieux de creer une classe E qui soit une sous-classe d'Observable et qui est écouté par D, et à laquelle A,B et C indique qu'elles ont été modifiés.
    Je suis pas sur d'etre tres clair

  4. #4
    Membre chevronné Avatar de broumbroum
    Profil pro
    Inscrit en
    Août 2006
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 406
    Par défaut
    c'est une bonne methode. A partir d'une instance vers plusieurs objets tu obtiens un lien "1 <- infini" tres pratique.

  5. #5
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Tout au début où j'ai appris ce concept d'Observer / Listener, j'utilisais Observer/Observable, car si elles étaient là, ça ne devait pas être pour rien.

    Mais à l'utilisation, et quand il y a beaucoup d'évènements différents à observer, cela devient ingérable et pas pratique. De plus, on peut voir que dans toute l'api java, notamment Swing, elles ne sont pas utilisées, au profit du principe des listeners (addMachinListener...).

    Si tu veux j'ai écrit un tuto sur la création de listeners:
    http://rom.developpez.com/java-listeners

  6. #6
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 15
    Par défaut
    @ broumbroum : C'est laquelle de solution que tu trouves bien? la classe interne Observe ou la classe gestionnaire?

    @ ®om : je m'en vais lire ça tout de suite

Discussions similaires

  1. Bonnes pratiques pour développer une IHM en JAVA
    Par jeromeSERRE dans le forum Interfaces Graphiques en Java
    Réponses: 13
    Dernier message: 20/11/2010, 19h17
  2. Question pour début communication entre applications java
    Par MrEddy dans le forum Général Java
    Réponses: 12
    Dernier message: 08/04/2010, 12h15
  3. [JAVA] Quel EDI JAVA choisir pour Mac OS X ?
    Par didi dans le forum Développement OS X
    Réponses: 18
    Dernier message: 29/09/2007, 22h07
  4. [debutant] correspondance JAVA C++ pour pointeur de fonction
    Par davidoff_tls dans le forum Langage
    Réponses: 7
    Dernier message: 15/04/2004, 09h13

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