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

Java Discussion :

Tutoriel sur des patterns d'implémentation avec les enums Java


Sujet :

Java

  1. #1
    Responsable Java & Kotlin

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    juillet 2005
    Messages
    14 970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : juillet 2005
    Messages : 14 970
    Points : 72 950
    Points
    72 950
    Par défaut 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

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    août 2005
    Messages
    6 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : août 2005
    Messages : 6 673
    Points : 22 476
    Points
    22 476
    Billets dans le blog
    50
    Par défaut
    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
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2009
    Messages : 12 430
    Points : 29 095
    Points
    29 095
    Billets dans le blog
    2
    Par défaut
    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
    Homme Profil pro
    Programmeur
    Inscrit en
    avril 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : avril 2015
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    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é

    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2005
    Messages
    588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : juin 2005
    Messages : 588
    Points : 1 227
    Points
    1 227
    Par défaut
    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é...


Discussions similaires

  1. Réponses: 3
    Dernier message: 22/08/2011, 09h35
  2. Réponses: 4
    Dernier message: 24/05/2007, 11h11

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