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 :

Conseil conception pour construction d'object


Sujet :

Langage Java

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 17
    Points : 12
    Points
    12
    Par défaut Conseil conception pour construction d'object
    Bonjour,

    Je suis à la recherche de conseils/bests practices pour un cas auquel je suis confronté :

    Mon use case :
    1. J'ai un flux de données en entrée
    2. Je dois parcourir le flux pour identifier si je dois générer un ou non un type de véhicule.
    3. Si c'est le cas je dois générer un objet véhicule correspond au type identifié (voiture, avion, bateau, moto, etc.). Je précise que chaque type de véhicule se généré différemment (n'exploite pas les mêmes infirmations pour sa création).


    Plus je serais générique et "intelligent" dans ma façon de traiter ce cas et plus il sera facile d’insérer de nouveaux types de véhicules.

    Je suis parti sur la création d'un VehiculeProvider qui va appeler un VehiculeTypeIdentifier pour déterminer le type de véhicule a créer s'il y a un véhicule a créer. Ensuite j’enchaîne sur une map de factory de véhicule qui a pour clef le type de véhicule.

    Je pense que l'on peut faire bcp mieux (notamment la partie VehiculeTypeIdentifier) et suis à l'écoute de vos retours !

    Merci !

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Quelques question bêtes :
    • Est-ce un format "connu / courant" (XML, JSON, etc.) ? Si oui regarder du coté des fonctionnalités des parsers déjà existants sur le marché notamment pour ce qui est des parsers évènementiels type SAX ou au contraire la représentation intégrale du document en mémoire type DOM. Pour un parser évènementiel de type SAX le choix du type de factory peut se faire au moment ou on détecte l'identifiant du véhicule. Pour un parser de type DOM il suffit de naviguer directement vers le champs / entité approprie dans le document et ensuite de fournir le document a la factory appropriée.
    • Sinon, est-ce que tu peux te permettre de faire une seconde lecture de ton flux ou de revenir en arrière dans ton flux ? Typiquement on peut généralement sans soucis relire un fichier sur le disque ou un buffer mappé en mémoire mais pas le contenu d'un socket. Dans le premiers cas tu peux alors le lire une première fois pour tenter de déterminer le type de factory a utiliser et une seconde fois avec la factory pour créer l'objet.
    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
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Points : 1 313
    Points
    1 313
    Par défaut
    fait un class diagram
    globalement quand on veut faire ca
    on part d'un vehicule (abstract) et tous les vehicule en derrive
    pour ce qui est de la construction
    on peut faire un model abstrait avec un builder qui est un ensemble de factory (avec un attribut sur le type)

    par exemple
    si tu as la classe avion
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    [factory(typeof(avionFactory))]
    class avion : vehicule{
    public avion(string nom, int nbmoteur){ ...}
    }
    et la classe pedalo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    [factory(typeof(pedaloFactory))]
    class pedalo: vehicule{
    public pedalo(int numero, int nbpassager){ ...}
    }
    les classes avionFactory et pedaloFactory implement un interface qui permet de savoir si une ligne d'info peut etre transformé dans le type connu

    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    class pedaloFactory : IFactory {
     // on passe un stream a cette focntion et si ca ne renvoi pas nul c'est que c'etait un pedalo
     public pedalo get(stream o){
    ....
    }
    }

    nota l'attribut peut etre mis soit sur la classe soit sur la factory
    par la biais de la reflection on va creer les instances de ses class factory et poser la question pour chaque ligne

    je sais pas si tu vois le principe
    excuse je t'ai collé le code en c# en java faudra utiliser les anotation mais la structure reste la meme
    IKEAS : Finalement je crois que c'est dans ses faiblesses que l'on y trouve a la fois de la force et a la fois de la richesse...
    ----------------------------------------------------
    Si vous avez du taf en wpf & design d'application sympa, contactez moi !!!!
    http://ultimatecorp.eu/wpf/

Discussions similaires

  1. [AC-2007] Conseil de conception pour appli VB.net
    Par Masamunai dans le forum Modélisation
    Réponses: 2
    Dernier message: 27/11/2010, 12h40
  2. [QThread] Conseils de conception pour traitement d'image
    Par Kirozen dans le forum Multithreading
    Réponses: 9
    Dernier message: 02/11/2010, 13h32
  3. Réponses: 0
    Dernier message: 01/04/2010, 11h47
  4. [Conception] Conseil rapide pour embellir le siteweb.
    Par anxious dans le forum Webdesign & Ergonomie
    Réponses: 7
    Dernier message: 26/05/2009, 19h57
  5. Conseil - Conception pour un projet Java
    Par jurio2005 dans le forum Langage
    Réponses: 15
    Dernier message: 22/06/2007, 21h47

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