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

avec Java Discussion :

serialisation ou pas


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2009
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 269
    Par défaut serialisation ou pas
    Je vais bientôt affronter un concours administratif avec une épreuve d'informatique ou j'ai choisi java comme langage.
    Je devine qu'il s'agira d'informatique de gestion (de personnel, d'adherent.....).
    La question qui se pose à moi lors de la constitution des differents fichiers, que choisir pour les constituer ?
    Si je cree des objets personnes que je place dans un tableau simple, il est aisé d'écrire les données membres dans un fichier.
    Pourquoi des classes pour faire ça ?
    Si je veux utiliser la sérialisation, ce serait mieux mais je crois qu'il n'est pas possible de récupérer les valeurs de type String ds la deserialisation.
    Je voudrais utiliser les vertus d'un langage objet, autrement il me sera demandé pourquoi ne pas avoir choisi le langage C (que j'apprécie beaucoup par ailleurs).
    Le conseil que je demande, si vous pouvez me répondre, c'est comment faire de la programmation objet en informatique de gestion ou comment ne pas écrire en Java comme en C, qu'il n'y est pas de malentendu, j'aime tout particulièrement le C, mais je dois faire ça en Java.

    Merci de répondre à une question un peu philosophique, j'ai vraiment besoin de votre aide

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Que sont censés contenir tes fichiers?
    Si ce sont des données, mieux vaut utiliser une base de données à cet effet, ou encore un fichier XML construit de manière à ne contenir que les données métier de l'application.

    La sérialisation m'apparait dans ce cas là comme une solution sub optimale.

    Et quoi qu'il en soit, ce n'est pas vraiment sur la sérialisation que ta maîtrise des concepts objets pourra être démontrée.

    Je te conseille bien plus amplement de t'intéresser à tout ce qui concerne l'encapsulation, le polymorphisme, l'héritage, les design patters et ainsi de suite.

    Ainsi que bien sûr savoir faire la séparation des classes contenant/traitant les données métier des classes traitant de l'interface graphique.

    Honnêtement la sérialisation dans tout ça, c'est un peu pipo et molo font de la programmation objet

    Je te conseille de commencer par la lecture de ceci: http://bruce-eckel.developpez.com/li...aduction/tij2/

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2009
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 269
    Par défaut c'est un concours
    Je ne sais pas d'avance ce que contiendront les fichiers, c'est un concours, ce sera la surprise, dans le style gestion d'une bibliotheque ou un système d'antennes commerciales ou alors encore un service public dans une commune, je vais tenir compte de ta réponse, c'est une piste de révision, de préparation, j'ai un mois pour ça, bon.
    Encore merci, si je bute je viendrai embéter un peu ici.

    A+

  4. #4
    Membre éclairé
    Inscrit en
    Septembre 2009
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 269
    Par défaut je suis de retour
    Je suis tes conseils mais à propos des design pattern
    voici le code que j'ai trouvé (c'est un exemple d'introduction) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    /** Interface de description d'un point */
    public interface Point {
     /** Retourne l'abscisse du point */ 
     public int getX();
     /** Retourne l'ordonnée du point */ 
     public int getY();
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    /** Interface de description d'une ligne */
    public interface Line {
      /** Retourne les coordonnées du mier point */
      public int getX1();
      public int getY1();
      /** Retourne les coordonnées du deuxième point */
      public int getX2();
      public int getY2();
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    /**  Fabrique  retournant des objets de types point ou ligne */
    public class CanvasFactory {
      /** Retourne un Point aux coordonnées x,y */ 
      public Point getPoint( int x, int y ) {
       return new PointImpl( x, y );
      }
      /** Retourne une Ligne aux coordonnées x1,y1,x2,y2 */ 
      public Line getLine( int x1, int y1, int x2, int y2 ) {
       return new LineImpl( x1, y1, x2, y2 );
     } 
    }
    Dans la classe CanvasFactory, il n'y a pas de constructeur, est-ce normal ?

    A+

    Philippe

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Une classe possède toujours un constructeur (même si celui ci n'est pas explicitement codé).

    En effet toute classe hérite de la classe Object, qui possède un constructeur par défaut. De fait une classe qui ne définit par de constructeur par défaut hérite de celui de la classe Object (qui grosso modo ne fait pas grand chose)

  6. #6
    Membre éclairé
    Inscrit en
    Septembre 2009
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 269
    Par défaut toujours ce concours
    merci pour ta réponse.
    J'ai un autre petit souci, peut-être juste une confirmation :
    différence entre fonction surchargée et fonction polymorphe :
    j'ai compris ça :
    surchargée : seul le nom reste. Les arguments, la signature et l'implémentation peuvent être différentes et elles peuvent être dans la même classe.
    polymorphe : cette fonction est le resultat d'un héritage d'une classe de base, son implémentation est redéfinie dans la classe dérivée cependant l'interface (nombre d'arguments et signature) est la même.

    Est-ce à peu près ça, c'est assez difficile de décripter et le lien que tu m'as proposé est assez "difficult !" sur ce point.

    merci encore

Discussions similaires

  1. Réponses: 4
    Dernier message: 22/09/2014, 16h53
  2. HTMLSerializer qui ne serialise pas !
    Par amoula84 dans le forum API standards et tierces
    Réponses: 0
    Dernier message: 07/07/2009, 11h19
  3. ne pas serialiser un nullable value type
    Par ikeas dans le forum C#
    Réponses: 2
    Dernier message: 18/09/2008, 11h32
  4. Réponses: 8
    Dernier message: 12/12/2007, 19h11

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