1. #1
    Rédacteur/Modérateur
    Avatar de regis1512
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    mai 2008
    Messages
    1 263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Industrie

    Informations forums :
    Inscription : mai 2008
    Messages : 1 263
    Points : 7 616
    Points
    7 616

    Par défaut Design Patterns du Gang of Four appliqués à Java

    Bonjour à tous,

    Suite à un retour par un lecteur sur un article que j'ai écrit intitulé "Design Patterns du Gang of Four appliqués à Java", je rajoute cette discussion afin de recueillir d'éventuels autres retours.

    L'objectif de cet article est de présenter les Design Patterns du "Gang of Four" avec des exemples concis appliqués à Java.
    Chaque Design Pattern est présenté avec son diagramme de classes, ses objectifs, les motivations pour l'utiliser, les responsabilités des classes le constituant, puis une implémentation simple.

    Merci pour vos commentaires.
    Pourquoi cet avatar ? Parce que j'aime bien le tableau "Le Fils de l'homme" de Magritte.
    Mes contributions sur developpez.com

  2. #2
    Rédacteur/Modérateur
    Avatar de regis1512
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    mai 2008
    Messages
    1 263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Industrie

    Informations forums :
    Inscription : mai 2008
    Messages : 1 263
    Points : 7 616
    Points
    7 616

    Par défaut

    Voici un message reçu, mercredi de la semaine dernière, par l'intermédiaire de Ricky81 :

    Citation Envoyé par thierry accart
    Bonjour

    je n'arrive pas a contacter directement l'auteur (régis pouiller) de la page
    http://rpouiller.developpez.com/tuto...e=page_4#LVI-K

    C'est un article bien écrit, et vraiment de référence, qui contient une petite imprécision que voici :

    dans le Visiteur, on devrait avoir une seule méthode, mais avec des signatures différentes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public interface Visiteur {
        public void visiterElement(ConcreteElementA pElementA);
        public void visiterElement(ConcreteElementB pElementB);
     
        //visite par défaut (si besoin)
        //public void visiterElement(Element pElement);
    }
    Ensuite, un ElementAbstrait appelle cette methode générique:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public abstract class ElementAbstrait extends Element{
        public void recevoirVisiteur(Visiteur pVisiteur) {
            pVisiteur.visiterElement(this);
        }
    }
    et les elements concrets n'implémentent plus Element, mais étendent ElementAbstrait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    public class ConcreteElementA extends ElementAbstrait ...
    public class ConcreteElementB extends ElementAbstrait ...
    Ce qui permet de factoriser le code, et d'être moins intrusif sur les elements concrets (aucun changement dans les elements hors l'ajout du extends)
    Déjà, désolé de ne pas avoir répondu plus tôt (j'ai voulu vérifier dans le livre du GoF pour assurer un peu de ne pas dire de bêtises et je n'arrivais plus à mettre la main dessus , ça m'apprendra à mieux ranger).

    Sur le principe, je suis en accord avec ce que tu dis. C'est comme cela que j'aurais eu tendance à concevoir ce Pattern.

    Lorsque j'ai rédigé cet article, j'ai d'abord fait des recherches sur internet. Bien entendu, j'ai trouvé des informations contradictoires. C'est pourquoi j'ai acheté un exemplaire du livre précédemment cité du GoF, puisque c'est l'ouvrage de référence.
    Lorsque j'ai rédigé plus particulièrement la partie sur le Pattern Visiteur, j'ai choisi de respecter le plus scrupuleusement possible ce qui était écrit dans le livre (j'ai mis un scan en pièce jointe)

    Cependant, cette remarque est très pertinente et dans la pratique je pense que le Pattern originel admet très bien cette variante qui présente comme tu le soulignes certains avantages.

    Merci pour ce commentaire
    Images attachées Images attachées  
    Pourquoi cet avatar ? Parce que j'aime bien le tableau "Le Fils de l'homme" de Magritte.
    Mes contributions sur developpez.com

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    février 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : février 2013
    Messages : 5
    Points : 10
    Points
    10

    Par défaut feedback - ;)

    Salut Regis ,
    après la lecture de ton tuto sur javaEE Spring me revoilà sur un des tutos une fois de plus bien ficelé !
    très bien expliqué , le pourquoi du comment et un code commenté pour chaque exemple / pattern , le tout agrémenté d'un schémas récapitulatif de tous les dp ... excellentissime ! merci encore pour cette super doc ! au plaisir de te relire ...
    @gasprod - Serge

  4. #4
    Rédacteur/Modérateur
    Avatar de regis1512
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    mai 2008
    Messages
    1 263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Industrie

    Informations forums :
    Inscription : mai 2008
    Messages : 1 263
    Points : 7 616
    Points
    7 616

    Par défaut

    Bonjour,

    Merci Serge.
    C'est très gentil.

    Au plaisir alors
    Pourquoi cet avatar ? Parce que j'aime bien le tableau "Le Fils de l'homme" de Magritte.
    Mes contributions sur developpez.com

Discussions similaires

  1. [Décorateur] [Java] Design Pattern Decorateur
    Par dralou dans le forum Design Patterns
    Réponses: 4
    Dernier message: 11/11/2006, 12h35
  2. Meilleur livre sur les design patterns en Java?
    Par JFortranDoc dans le forum Langage
    Réponses: 5
    Dernier message: 15/06/2006, 02h19
  3. [Fabrique] [Java] Design Pattern Factory
    Par SkyBioSS dans le forum Design Patterns
    Réponses: 3
    Dernier message: 24/05/2006, 15h53
  4. Design Pattern en java
    Par mencaglia dans le forum Langage
    Réponses: 32
    Dernier message: 21/09/2005, 23h59

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