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

UML Discussion :

Plusieurs variantes d'une même instance


Sujet :

UML

  1. #1
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 49
    Points : 30
    Points
    30
    Par défaut Plusieurs variantes d'une même instance
    Bonjour, je suis devant un cas intéressant de conception et j'ai du mal à trouver une solution "propre" aussi je sollicite votre avis.

    Mon cas est le suivant :

    Je cherche à pouvoir définir plusieurs variantes d'un même objet et un système qui permettrait de passer d'une variantes effective à un autre.

    Par exemple j'ai un objet Table qui contient un entier prix.

    Je voudrais que pour une même instance t de Table on puisse définir une variante dans laquelle prix vaut 5 et une autre variante dans laquelle prix vaut 10.

    Evidemment les différentes variantes doivent être sauvegardées dans une base de données pour être consultées plus tard.

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    quelque chose comme cela...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    //définition d'une variante dans t
    t.definirVariante(new Variante1("variante1",new Prix(5));
    //definirVariante peut simplement utiliser un ArrayList ou une Map
    t.definirVariante(new Variante2("variante2",new Prix(10));
    
    //itération sur la Map
    t.sauverVersBaseDonnes();

  3. #3
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 49
    Points : 30
    Points
    30
    Par défaut
    J'ai réalisé deux petites implémentations en java, une avec généricité et l'autre avec généricité et reflexivité.

    Qu'en pensez-vous ? (l'avantage de la reflexivité c'est d'avoir moins de code à écrire et donc moins d'erreurs)
    Fichiers attachés Fichiers attachés

  4. #4
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    C'est le forum UML alors poste un diagramme de classe pour la vue statique et ce que tu voudras (séquence, activité...) pour une vue dynamique.

    pour t'aider : utilise un outil de rétro-ingénierie pour obtenir un diagramme de classe puis fais à la mano un diagramme de séquence pour la partie qui pose problème.

  5. #5
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 49
    Points : 30
    Points
    30
    Par défaut


    Voici mon diagramme de classe avec l'implémentation en java.
    Fichiers attachés Fichiers attachés

  6. #6
    Inactif  
    Inscrit en
    Février 2003
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Février 2003
    Messages : 238
    Points : 303
    Points
    303
    Par défaut Générécité et reflexivité en java UML
    Ton code est propre et compile bien sous Eclipse
    Je dirai que les 2 approches sont bonne dans un premier temps ensuite tout dépend de la suite de l'architecture qui va être mise en place.

    Sinon j'ai regardé ton diagramme de classe et j'ai remarqué:
    1. Je ne vois pas l'association entre ScenarioTable et Scenarizable dans le code java de l'exemple qui doit être indiqué sur les property (e.g. attribut).
    2. Entre La classe ScenarioTable et l'interface Scenario il s'agit d'une dépendance implementation en UML2 et pas realize. Ceci a changé en UML 2.
    [edit]cette réponse à été modérée pour retirer ce qui est hors norme UML[/edit]

  7. #7
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 49
    Points : 30
    Points
    30
    Par défaut
    Merci pour le point normatif, je n'ai pas cherché assez longtemps le lien "implements" dans mon éditeur UML, j'ai simplement pris le premier qui venait.

    2. Je ne vois pas l'association entre ScenarioTable et Scenarizable dans le code java de l'exemple qui doit être indiqué sur les property (e.g. attribut).
    Je ne suis pas certain de comprendre, que manque-t-il dans le code java ?

    EDIT : Je crois qu'il faut déclarer l'attribut "mesScenarios" dans Scenarizable malgré le lien d'agrégation ? Ce genre de considérations est sujet à débat il me semble non ?

  8. #8
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 49
    Points : 30
    Points
    30
    Par défaut
    Pour la suite des événements je risque d'avoir non seulement des tables mais aussi des chaises, des bancs, des tabourets et des meubles en pin suédois.

    C'est pour cette raison que j'aimerais éviter d'avoir à copier/coller trop de code qui devra être adapté à chaque objet.

Discussions similaires

  1. Réponses: 4
    Dernier message: 07/10/2008, 12h17
  2. Plusieurs version d'une même App sur un même serveur
    Par Jeweller dans le forum XMLRAD
    Réponses: 27
    Dernier message: 14/02/2006, 11h33
  3. TForm pour plusieurs fenêtre dans une même fonction ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 5
    Dernier message: 15/11/2005, 12h38
  4. [Conception] Accès multiples à une même instance
    Par Rockz dans le forum Général Java
    Réponses: 16
    Dernier message: 31/12/2004, 14h46
  5. [Applet]Utiliser plusieurs Applet dans une même classe
    Par BRAUKRIS dans le forum Applets
    Réponses: 5
    Dernier message: 11/06/2004, 15h27

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