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

  1. #1
    Responsable Java

    Tutoriel sur des patterns d'implémentation avec les enums Java
    La société Zenika, le cabinet d'architecture, de formation, de conseil et de réalisation Java présente des patterns d'implémentation avec les enums Java.

    L'adresse du tutoriel Java est : http://zenika.developpez.com/tutorie...entation-enum/

    N'hésitez pas à donner vos retours.

    L'équipe Java
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Ingénieur de Recherche en informatique au LIAS / ISAE-ENSMA
    Page de Developpez.com : mbaron.developpez.com
    Twitter : www.twitter.com/mickaelbaron
    Blog : mickael-baron.fr
    LinkedIn : www.linkedin.com/in/mickaelbaron
    DBLP : dblp.uni-trier.de/pers/hd/b/Baron:Micka=euml=l

  2. #2
    Rédacteur/Modérateur

    Intéressant même si sur la fin je n'ai pas tout saisi.
    Du coup, je sens que je vais changer des classes utilitaires avec singleton statiques en enum dans mes futurs codes (et effectivement l’idée ne m'en était pas venu car ça "sort du cadre habituel de l'utilisation de l'enum").
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  3. #3
    Modérateur

    Salut,

    Comme @Bouye, je trouve que certaines sections vers la fin sont assez difficiles à comprendre, malgré que j'utilise déjà des enums pour faire des singletons pour ma part. Ce n'est pas un tutoriel pour débutant, mais pour des profils déjà aguérris : peut-être des exemples plus in situ seraient utiles. Là, on a une liste de ce qu'on peut écrire comme patterns, mais pas d'explications circonstanciées de quand utiliser ces patterns. Comme, par exemple, préciser à quoi ça pourrait servir de pouvoir faire une méthode qu'on ne peut pas appeler.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  4. #4
    Invité de passage
    J'avoue que cet article est un peu hardcore, effectivement le public visé est censé avoir déjà de l'expérience et j'ai un style un peu sec. Je vais essayer d'éclaircir deux points :

    1/ "à quoi ça pourrait servir de pouvoir faire une méthode qu'on ne peut pas appeler. "
    -->Tu peux appeler les méthodes de cette enum, mais uniquement avec un qualifier statique c'est à dire "${nom de la classe}.${nom de la méthode statique}" , ici ça donne Maths.cos
    L'intérêt est mineur, c'est juste pour être sûr avec peu de code (juste le mot clef enum et pas d'enum constants) que ta classe ne contient que des méthodes statiques. Tu as sûrement déjà vu le pattern du constructeur privé qui throw une exception. C'était plus une curiosité qu'autre chose, car presque personne ne connaît cette technique (je voulais faire le malin quoi ).

    2/ "La fin de l'article est difficile"
    -->L'idée est d'implémenter le principe DIP de Uncle Bob:
    http://butunclebob.com/ArticleS.Uncl...rinciplesOfOod
    https://drive.google.com/file/d/0Bwh...lNTQ3ZGMz/view
    L'inversion de dépendance est une des techniques de prog OO les plus importantes (et aussi les plus rarement bien comprises), elle est beaucoup utilisée en Domain Driven Design
    Je voulais montrer que le DIP est particulièrement intéressant quand il est appliqué aux enums Java, en profitant de leur polymorphisme: tu as un pattern Strategy clefs en main avec des petits objets faciles à référencer, à convertir en String, à stocker en BD, ..

  5. #5
    Membre éprouvé
    Merci Laurent pour ce tuto...
    Citation Envoyé par vandekeiser Voir le message
    Je voulais montrer que le DIP est particulièrement intéressant quand il est appliqué aux enums Java, en profitant de leur polymorphisme: tu as un pattern Strategy clefs en main avec des petits objets faciles à référencer, à convertir en String, à stocker en BD, ..
    J'avoue n'avoir jamais imaginé la DIP via l'enum !

    Comme variante du pattern stratégie et sur le même principe : le pattern factorie !

    En fait, dès que l'on a un nombre fini de stratégies ce type de patterns peut avantageusement remplacer un switch (découplage + suppression du défault case ).

    Comme appli : interprétation d'un flux de données sur mot clé...