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

BOUML Discussion :

Template de Design Pattern


Sujet :

BOUML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Avril 2008
    Messages : 184
    Par défaut Template de Design Pattern
    Bonjour,

    Utilisant quelques Design Pattern, je me demandais s'il ne serait pas possible d'ajouté dans Bouml des templates de génération pour ces DP. Je pense particulièrement au DP Singleton et MVC que j'utilise assez souvent et qui demande une génération de classe un peu particulière :
    - MVC : utilisation d'événement
    - Singleton : constructeur privé, "getInstance" synchronisé

    Youkoun

  2. #2
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 545
    Par défaut
    Bonjour,

    le mieux est selon moi n'est pas d'intervenir au niveau de la génération elle-même, mais de modifier le modèle pour qu'il produire le code souhaité.

    les plug-outs sont là pour cela.

    singleton existe déjà et peut servir de base s'il faut par exemple protéger la création de l'instance et la mise à jour de l'attribut statique la référençant par un mutex ou autre moyen permettant une utilisation en multi-thread.
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Avril 2008
    Messages : 184
    Par défaut
    J'ai pas bien compris comment modifier le model pour indiquer que c est un singleton...

    J'avoue ne pas encore avoir regardé les Plug-out.
    J'ai bien lut la doc mais je ne sais pas comment appliquer le plugout sur une classe?

    Youkoun

  4. #4
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 545
    Par défaut
    Citation Envoyé par youkoun Voir le message
    J'ai pas bien compris comment modifier le model pour indiquer que c est un singleton...
    un singleton c'est une classe dont le constructeur est privé, et ayant une opération statique instance retournant l'instance unique (en la créant si besoin).

    un plug-out modifiera donc le modèle en ce sens

    si on part d'une sans membre mon plug-out produit :

    avec la def Java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    class C {
      private C() {
      }
    
      public final static C instance()
      {
          return (the == null) ? the = new C() : the;
      }
    
      private static C the;
    
    }
    le header C++
    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
    #ifndef _C_H
    #define _C_H
    
    
    class C {
      private:
        C();
    
    
      public:
        static C * instance();
    
    
      private:
        static C * the;
    
    };
    #endif
    et le source C++
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #include "C.h"
    
    C::C() {
    }
    
    C * C::instance()
    {
        return (the == 0) ? the = new C() : the;
    }
    
    C * C::the;
    J'avoue ne pas encore avoir regardé les Plug-out.
    J'ai bien lut la doc mais je ne sais pas comment appliquer le plugout sur une classe?
    alors tu n'as pas bien lu la doc

    cela se fait via le dialogue appelé via le menu Tools entrée Tools setting
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Avril 2008
    Messages : 184
    Par défaut
    Je ne sais pas si c'est bien ca mais j'ai mit "singleton" dans le stéréotype.

    J'ai beau avoir relut la doc sur le plug out, je ne vois toujours pas comment l'appliquer à ma classe Quand je modifie le setting, il le fait pour tout le projet et non uniquement pour ma classe.

    Youkoun.

  6. #6
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 545
    Par défaut
    quel plug-out cherches-tu à appliquer ?

    Citation Envoyé par youkoun Voir le message
    J'ai beau avoir relut la doc sur le plug out, je ne vois toujours pas comment l'appliquer à ma classe
    quand un plug-out est configuré il apparait dans le menu Tool des éléments cibles

    Quand je modifie le setting, il le fait pour tout le projet et non uniquement pour ma classe.
    de quel setting parles-tu ?
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/12/2010, 22h08
  2. Réponses: 4
    Dernier message: 24/02/2009, 12h06
  3. [Observateur] Précisions sur le design pattern Observer [UML]
    Par joquetino dans le forum Design Patterns
    Réponses: 2
    Dernier message: 07/10/2004, 22h35
  4. Les Designs Patterns Entreprise
    Par boulon dans le forum Design Patterns
    Réponses: 4
    Dernier message: 01/09/2004, 19h16
  5. [Design Patterns] Architecture 3 tiers
    Par HPJ dans le forum Design Patterns
    Réponses: 1
    Dernier message: 29/07/2003, 11h49

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