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 EE Discussion :

Convention de nommage J2EE ? Ou ?


Sujet :

Java EE

  1. #1
    Membre éprouvé
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Points : 936
    Points
    936
    Par défaut Convention de nommage J2EE ? Ou ?
    Bonjour,

    Je dois m'oqp de reengineering des méthodes de développement d'une boite avec entre le passage aux nouvelles technos java.
    Tous cela dans le cadre de mon stage 8)

    Pour faire qqs chose de nikel, je me suis mis à la recherche des conventions de nomage pour un développement J2EE, notament du coté des méthodes d'accès aux données.
    Sur le site de sun je trouve tous, sauf ca ! Un petit coup de pouce me serait donc le bienvenue. D'autant que ca pourra servir à bcp demonde.

    Merci d'avance

  2. #2
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Qu'est ce qui n'est pas clair ?

  3. #3
    Membre éprouvé
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Points : 936
    Points
    936
    Par défaut
    Qui a dit que qqs chose n'était pas clair ?

    C'est ma grande curiosité et mon perfectionnisme qui m'emporte et fait que je veux tjrs en savoir plus et de source fiable.

    Par exemple, quand doit-on utiliser find au lieu de load et inversement, les requetes de modification, supression, etc ...

    Je suis pointilleux je sais

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Points : 1 151
    Points
    1 151
    Par défaut
    Je ne comprends pas trop, tu parles de conventions de nomage et ensuite de find, load, etc...

    Les sources fiables sont chez sun...
    La fiabilité en est relative mais, c'est la référence en la matière (ne pas oublier que le process JAVA n'est pas le même que le process J2EE).

    Si tu parles des noms de méthodes, find et select sont standardisés dans la spécification EJB. Load ne l'est pas à ma connaissance maintenant, eu égard à mon grand age, je l'ai peut être zappé.

    Les finder (méthodes findByXxxxx) doivent retourner des entité c'est à dire, des données d'un modèle gérés par ton composant (ce que j'appel un DOM pour Domain Object Model; cf. pattern évoqué par Rod Johnson).
    Un sélecteur (méthodes selectXxxx) peu retourner un ensemble incomplet d'une entité comme des colonnes SQL.

    La méthode que tu appel "load" doit être spécifiée dans la spec J2EE et plus précisément EJB (ce sont les seuls composants persistants de la spec) par la méthode findByPrimaryKey(Serializable key);
    C'est la seule méthode qui permet de retourner une cardinalité 0..1 qui soit spécifiée dans J2EE.

    Pour les méthodes store, create et remove, le nom est explicite.

    Quand aux conventions de nomages JAVA de SUN, il n'y en as pas pour ce que l'on appel des DAO (Data Access Object).

    Si tu as d'autres questions, n'hésite surtout pas

  5. #5
    Membre averti
    Inscrit en
    Août 2005
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 352
    Points : 427
    Points
    427
    Par défaut
    Petite précision, Domain Object Model est un pattern qui est aussi vieux que l'OOP. C'est l'idée qu'on peut modéliser une problematique sous forme d'objets (commande, compte bancaire, pret, ...) ayant un état (que l'on fait persister généralement) et un comportement (la logique métier) et qui agissent ensemble (voir le pattern Domain Model dans PoEAA)

    Si tu veux avoir des exemples de nom de méthodes pour l'accès aux données, tu peux te tourner vers l'interface Session d'Hibernate 3 qui se rapproche de ce qui est attendu pour le PersistenceManager des EJB3.

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Points : 1 151
    Points
    1 151
    Par défaut
    (oops, Martin Fowler et non Rod Johnson, bien vus Dlemoing)

  7. #7
    Membre éprouvé
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Points : 936
    Points
    936
    Par défaut
    C'est pas tout neuf, mais c'est en voyant un de tes messages Alwin que je me suis intéressé au sujet.

    Je cite :
    Citation Envoyé par Alwin
    En normalisant les noms de tes méthodes, tu peu rendre générique les propagations aussi; par exemple, ta méthode getClientById normalisée en J2EE deviend findByPrimaryKey, getClientByCountry deviens findByCountry, etc...
    Tu pourras ainsi placer l'attribut tranfactionnel sur la cléf "find*" de ton DAO.
    C'est vrai quand cherchant sur le site de sun, je m'attendais a trouver une doc spécifique sur les conventions de nomage avec J2EE et bien que j'ai pensé au EJB (que je connais pas) j'ai pas trop étendu mes recherches.
    En tout cas on peu dire que tu as bien répondu a ma question et je me fais une meilleur idée de comment nommer mes méthodes.

    Pour le moment je me suis basé sur l'interface HibernateOperations du framework Spring, qui utilise cette même convention, je regarderais demain du coté de l'interface Session d'hibernate même.
    Pour info, dans HibernateOperations, les methodes load permettent de retourner une instance persistente suivant son id, donc bien équivalent a une méthode findByPrimaryKey(...).

    Tien vu que tu me le proposes, je vais poser une question sup, bien que je pourrais chercher moi même
    Tu voulais dire quoi dans la citation ci-dessus ? rendre générique la propagation ? vers quoi ? (les EJB ?)


    Un grand merci a tous les deux.

  8. #8
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Points : 1 151
    Points
    1 151
    Par défaut
    rendre générique la propagation
    C'est de moi ça ? où donc ?

  9. #9
    Membre éprouvé
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Points : 936
    Points
    936

  10. #10
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Points : 1 151
    Points
    1 151
    Par défaut
    Ok, mais je parlais de Spring sur ce Thread et , en effet, normaliser les noms permet de généraliser certaines choses comme :
    - Je ne suis pas techniquement transactionnel lors de mes lecture (excluse find/select)
    par contre,
    - je le suis pour le reste (* ou store/remove/delete)

    Tout ceci n'est qu'un "aspect" des choses

  11. #11
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Points : 1 151
    Points
    1 151
    Par défaut
    Pour revenir au nomage des méthodes; voici ce que dit la spécification EJB (Spec 2.1, chapitre 9.5.2 Finder Methods)

    The name of each finder method starts
    with the prefix “find”, such as findLargeAccounts. The arguments of a finder method are used
    by the entity bean implementation to locate the requested entity objects.
    The remote home interface includes the findByPrimaryKey(primaryKey) method, which
    allows a client to locate an entity object using a primary key. The name of the method is always find-
    ByPrimaryKey; it has a single argument that is the same type as the entity bean’s primary key type,
    and its return type is the entity bean’s remote interface.

  12. #12
    Membre éprouvé
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Points : 936
    Points
    936
    Par défaut
    Et bien tous cela me semble très clair 8)

    Merci de m'avoir consacré un petit peu de ton temps.

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

Discussions similaires

  1. Convention de nommage
    Par ites dans le forum Langage SQL
    Réponses: 11
    Dernier message: 12/09/2008, 17h00
  2. Convention de nommage VB.Net
    Par e-ric dans le forum VB.NET
    Réponses: 3
    Dernier message: 27/02/2007, 18h00
  3. [PL/SQL] Convention de nommage
    Par dcollart dans le forum Oracle
    Réponses: 1
    Dernier message: 10/07/2006, 16h50
  4. Petite question sur les conventions de nommage en Java
    Par implosion dans le forum Langage
    Réponses: 7
    Dernier message: 18/01/2006, 15h54
  5. Convention de nommage dans le code
    Par firejocker dans le forum Langage
    Réponses: 4
    Dernier message: 01/08/2005, 14h18

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