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 :

[Conception]Nouveau format de fichier


Sujet :

Java

  1. #1
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut [Conception]Nouveau format de fichier
    Bonjour à tous,

    J'ai créé deux nouveaux formats de fichier spécifiques à mon application, les JTF et JTD. Maintenant je cherche le meilleur moyen de les utiliser facilement dans mon application. Et surtout en concevant d'une manière correcte et pas en le faisant à l'arrache.

    La première solution à laquelle j'ai pensé (en vitesse), c'est de faire un objet JTFFile qui prend une File en entrée qui le lit et qui extrait les données, on pourra ensuite récupérer les données avec des getters(). Et après lui donner une méthode write() pour écrire les données que l'on aura précedemment rentré avec des setters();. Mais c'est pas à l'objet File d'écrire lui-même ses donnnées dans le fichier, donc cette solution est pas terrible, disons même mauvaise...

    Ensuite, je me suis dit que je pouvais faire un JTFFileReader qui permettrait d'ouvrir de lire dans un fichier, mais déja là, je trouve ça un peu bête, car les données doivent être lues d'une traite à la suite, et je pensais les rendre accessibles par l'objet File. Et faire ensuite un objet JTDFileWriter, qui permettrait d'écrire dans le fichier des données qu'on lui donnerait par exemple writeFilm, mais ca me semble pas génial non plus.

    De sorte que maintenant j'ai encore pleins d'idées, mais que j'arrive pas en trouver une qui me convienne vraiment... La seule chose qui me paraît claire, c'est qu'il me faut un objet File JTFFile, mais après, je sais pas trop si je vais directement étendre File ou alors faire une clase à part qui va utiliser un File...

    Alors je m'en remets à vous; Comment feriez-vous pour implémenter un nouveau format de fichier ? Je demande des idées, par une implémentation concrète (ca c'est mon boulot).

    d'avance

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Une interface définissant le diverses méthodes dont tu aurais besoin

    Un reader abstrait implémentant ton interface et codant les méthodes génériques pour lire dans un fichier

    Un reader héritant de ton reader abstrait et implémentant le façon de lire un Fichier spécifique.


    Comme ça rajouter un autre type de fichier à ton appli est relativement rapide (juste un nouvelle classe héritant d'un reader abstrait)

    Eventuellement tu peux créer une interface de plus haut niveau pour lire de données de tout type et non simplement depuis un fichier

  3. #3
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Une chose que j'ai pas comprise dans ce que tu as dis : Il faut que je fasse une interface Reader par type de fichier ou alors j'ai une seule interface et deux Reader. Parce qu'en fait les méthodes ne seront pas les mêmes d'un Reader à l'autre.

    Ou alors, tu imagines quelque chose avec une interface Reader, une implémentation concrète JTFFileReader qui permet de lire dans un fichier et qui ensuite retourne une instance de JTFFile ? Et pareil ensuite pour le Writer, c'est à dire que j'aurais un Writer qui récupérerait les données du JTFFile pour les écrire ?

    Je suis à côté de la plaque ou bien j'ai compris ce que tu voulais dire ?

  4. #4
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    quelquechose dans ce style:

    Images attachées Images attachées  

  5. #5
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Citation Envoyé par sinok
    quelquechose dans ce style:

    D'accord, ça j'ai bien compris compris le concept Merci. Je pense que je devrais faire aussi la même chose avec les Writer, non ?

    Mais j'ai plus de peines à définir les responsabilités de chaque classe. C'est à dire que va faire exactement ce Reader ?

    Je donne un exemple concret. Dans ce fichier, je vais stocker entre autres un film. Donc mon reader va faire quoi ? Lire le fichier et créer une instance de JTFFile sur laquelle je vais ensuite faire getFilm() ou alors, je vais directement faire un readFilm() sur le Reader ? C'est ça que j'ai un peu de mal à comprendre.

    De même pour le Writer, je sais si pas je dois d'abord remplir un Objet JTFFile et ensuite le donner à un objet Writer pour qu'il l'écrive sur le disque dur, ou alors si je dois faire des writeXXX sur le Writer...

    Merci

  6. #6
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Pour moi le reader serait plus destiné à te remplir un Objet servant de modèle, grosso merdo il fait une lecture et basta, à toi ensuite d'en faire ce que tu veux (donc ton JTTFFile, mais il audrait mieux faire une structure bien générique au cas où donc un JTTFModel comme tu peux avoir des TableModel pour les JTable ou autres)

    De même pour les Writer, ils te transforment un modèle en fichier.

    Enfin l'autre optique est jouable également (cad agir directement sur les Writer, dans le cas des reader ça va être un peu plus dur), mais pour moi un peu moins propre (séparation des couches pas top et tt le toutim).

  7. #7
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Citation Envoyé par sinok
    Pour moi le reader serait plus destiné à te remplir un Objet servant de modèle, grosso merdo il fait une lecture et basta, à toi ensuite d'en faire ce que tu veux (donc ton JTTFFile, mais il audrait mieux faire une structure bien générique au cas où donc un JTTFModel comme tu peux avoir des TableModel pour les JTable ou autres)

    De même pour les Writer, ils te transforment un modèle en fichier.

    Enfin l'autre optique est jouable également (cad agir directement sur les Writer, dans le cas des reader ça va être un peu plus dur), mais pour moi un peu moins propre (séparation des couches pas top et tt le toutim).
    D'accord, cette fois, c'est beaucoup plus clair

    Merci beaucoup

    Citation Envoyé par sinok
    Alors, j'suis pourrave ou j'suis pourrave?
    Aucun des deux si je peut me permettre

  8. #8
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par wichtounet
    Aucun des deux si je peut me permettre
    En général si, l'intelligence est rare et inversment proportionnelle au niveau de fatigue et d'alcool dans le sang, pour ne pas parler d'autres choses.


    Ah également au nombre de minettes dans l'entourage également...

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 25/10/2011, 16h31
  2. [AC-2003] Format de fichier - Clic droit > Nouveau
    Par azertix dans le forum Access
    Réponses: 2
    Dernier message: 22/12/2010, 10h19
  3. Format de fichier extensible
    Par Rodrigue dans le forum C++Builder
    Réponses: 9
    Dernier message: 11/06/2005, 15h45
  4. [Format de Fichier] Recherche de site
    Par Pedro dans le forum Windows XP
    Réponses: 5
    Dernier message: 12/04/2005, 17h11
  5. Quel format de fichier utiliser pour les maps ?
    Par fb57 dans le forum OpenGL
    Réponses: 3
    Dernier message: 23/09/2004, 21h22

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