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

Langage Java Discussion :

Pattern Factory pour le déploiement d'un web service REST


Sujet :

Langage Java

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2007
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 142
    Points : 52
    Points
    52
    Par défaut Pattern Factory pour le déploiement d'un web service REST
    Bonsoir à tous,

    Je suis entrain de développer en Java la partie client de mon webservice REST.
    Actuellement j'ai une classe WebServiceRequest qui contient 4 méthodes:

    -get()
    -add()
    -edit()
    -delete()

    Cette une implémentation très basique, or je voudrais utiliser le pattern FACTORY pour gérer ce mécanisme "plus proprement".

    Voici le diagramme de class que j'ai modélisé pour cette futur implémentation.
    Mon but c'est de créer 4 class pour chaque type de méthode (GET,POST,DELETE,PUT) et instancier chacune d'entre elle lors de l'appel de la fabrique.

    Je voudrais connaitre votre avis pour savoir si c'est une bonne idée de concevoir mon application de cette manière.

    Merci

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 75
    Points : 138
    Points
    138
    Par défaut
    Bonjour,

    Je pense pas que ca soit plus propre de créer 4 class avec uniquement une méthode dedans.

    La patern Factory est la pour cacher l'origine (la construction) des objets.
    http://abrillant.developpez.com/tuto...oduction/#L3.1

    Le mieux est de laisser les 4 méthodes dans ta class.

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2007
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 142
    Points : 52
    Points
    52
    Par défaut
    Hmm je vois, mais dans mon cas j'ai des objets de type HttpGet,HttpPost etc.. à instancier en fonction du type de requête.

    On pourrait déléguer cette responsabilité à la fabrique non?
    Pour le moment effectivement il y a qu'une méthode par classe étendu mais je pourrais en avoir un peu plus.

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 75
    Points : 138
    Points
    138
    Par défaut
    Tu faits une interface HttpType (par exemple) qui prend possède les 4 méthodes:
    -get()
    -add()
    -edit()
    -delete()

    qui sont les méthodes dit CRUD (Create Read Update Delete) et en dessous tu créer tes Class HttpGet, et HttpPost ect.. qui hérite de HttpType et si besoin tu surcharges les méthodes.

    Je pense que c'est plus propre de faire comme ça.

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2007
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 142
    Points : 52
    Points
    52
    Par défaut
    Effectivement utiliser une interface est pas mal j'avais pas penser.
    Du coup si j'ai bien compris, J'ai une interface qui possède mes méthodes CRUD.

    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
    public class HttpBase implements IMethods{
     
            public void get(){
                    System.out.println("Requete Get");
            }
     
            public void add(){
                    System.out.println("Requete Post");
            }
            public void edit(){
                    System.out.println("Requete Put");
            }
            public void delete(){
                    System.out.println("Requete Delete");
            }
     }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public class HttpGet extends HttpBase{
                   public HttpGet get(String option){
                      return null;
                   }
    }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public class HttpPost extends HttpBase{
                   public HttpGet Post(Xml option){
                      return null;
                   }
    }
    etc ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public class interface IMethod{
           public void get(){ 
            }
     
            public void add(){                
            }
     
            public void edit(){               
            }
     
            public void delete(){                
            }
    }
    J'ai implémenté directement sans passer par le diagramme de class dsl :d
    Est ce que c'est bon comme ca?

  6. #6
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 75
    Points : 138
    Points
    138
    Par défaut
    Après tu va faire un list de HttpBase c'est ca?

  7. #7
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2007
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 142
    Points : 52
    Points
    52
    Par défaut
    Heu non du tout, enfin je ne vois pas trop l’intérêt? Est ce que tu peux m'expliquer un peu plus ton idée?

    Mais si non dans l'ensemble l'implémentation est elle bonne?

    Merci

  8. #8
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 75
    Points : 138
    Points
    138
    Par défaut
    Enfaîte je vois pas comment tu va utiliser tes méthodes tu va add quoi dans quoi.

Discussions similaires

  1. Déploiement d'un Web Service dans Eclipse
    Par papillange dans le forum Eclipse Java
    Réponses: 13
    Dernier message: 06/03/2013, 13h10
  2. Réponses: 1
    Dernier message: 16/04/2009, 23h05
  3. Déploiement d'un web service
    Par mad_kabyle dans le forum Services Web
    Réponses: 2
    Dernier message: 13/06/2008, 12h45
  4. Erreur dans le déploiement d'un web service avec axis
    Par hacksi dans le forum Services Web
    Réponses: 1
    Dernier message: 18/02/2008, 13h56
  5. Réponses: 2
    Dernier message: 11/02/2008, 18h29

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