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

Dotnet Discussion :

combien de champs dans une classe ?


Sujet :

Dotnet

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 349
    Par défaut combien de champs dans une classe ?
    Bonjour,

    J'ai une base de données contenant plusieurs tables. Chacunes d'entre-elles contiennent environ 50 champs.

    J'aurai voulu savoir si je dois créer autant de champs dans ma classe que j'en ai dans ma table ?

    J'aimerai créer le pattern active record... Est-ce convenable ?

    Convenable dans le sens, consommation mémoire...

    Merci.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Déjà, si tu as 50 colonnes dans chaque table, il faudrait peut-être envisager de revoir le modèle de données pour le rendre plus pratique à utiliser... tu as probablement beaucoup de données redondantes, ce serait plus propre en séparant en plusieurs tables avec des jointures.

    D'autre part, si tu veux mapper tes classes sur les tables, oui, bien sûr, il faut autant de champs (ou plutôt de propriétés) que de colonnes, sinon comment accèderais-tu aux données de ces colonnes ?

    Pour ce qui est de la consommation de mémoire, le pattern Active Record n'est pas intrinsèquement meilleur ou pire que les autres, tout dépend de la façon dont tu l'utilises...

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 349
    Par défaut
    Merci de ta réponse.

    Effectivement la base de données est très mal conçues...
    Des tables qui contiennent énormement de champs avec des informations redondantes. Des tables qui n'ont pas de clés primaires, très peu de contraites étrangères et qui n'ont d'index que les clés primaires. Les types de données utilisés le sont à mauvais essient.

    Le soucis est que je suis seul à maintenir ce logiciel ou le très peu de documentation ne m'aide pas... (3 personnes ont travaillé à temps plein dessus mais ne sont plus là...)
    Et le temps imparti ne me permet pas de refaire certaines parties du logiciel... (SSII)

    Merci.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 221
    Par défaut
    Tu peux aussi creer d'autres classes et les imbriquées

    Par exemple :
    Creer la classe Adresse : string Rue, int CodePostale,string Ville, string Pays
    Et la classe Personne avec : string Nom, string Prenom,Adresse Adresse

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 349
    Par défaut
    Oui, faire un héritage en quelque sorte...

  6. #6
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 602
    Par défaut
    Citation Envoyé par champomy62 Voir le message
    Oui, faire un héritage en quelque sorte...
    Tu réponds à qui ? si c'est à moi, la réponse est "pas du tout".

  7. #7
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 602
    Par défaut
    Citation Envoyé par champomy62 Voir le message
    Merci de ta réponse.

    Effectivement la base de données est très mal conçues....
    Dans ce cas, pourquoi veux tu faire matcher une table à une classe ?

    Accessoirement, quand on a un modèle de données pourri et que le temps imparti ne permet pas de modifier le modèle physique, une solution peut être de rétablir un modèle (plus ou moins .... ) correct via des vues, et d'appuyer ton code exclusivement sur ces vues, sans toucher aux tables physiques. (d'ailleurs, c'est une recommandation valable même quand le modèle est "sain", ça simplifie beaucoup les évolutions).

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 349
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Dans ce cas, pourquoi veux tu faire matcher une table à une classe ?

    Accessoirement, quand on a un modèle de données pourri et que le temps imparti ne permet pas de modifier le modèle physique, une solution peut être de rétablir un modèle (plus ou moins .... ) correct via des vues, et d'appuyer ton code exclusivement sur ces vues, sans toucher aux tables physiques. (d'ailleurs, c'est une recommandation valable même quand le modèle est "sain", ça simplifie beaucoup les évolutions).
    Je souhaite etablir un lien entre une table et une classe pour créer une couche d'accès aux données...
    Effectivement je n'avais pas pensé aux vues pour contourner le problème...

    Citation Envoyé par Bluedeep Voir le message
    Tu réponds à qui ? si c'est à moi, la réponse est "pas du tout".
    Oui je repondais à toi.
    J'ai pensé à un heritage du fait que dans ta classe personne, tu avais un champ adresse. J'ai déduis ça trop vite.

    Bluedeep, tu parlais de classe imbriqué, mais pour ma part sauf dans les exemples je n'ai jamais vu de programme en utilisé.. Dû certainement à ma petite expérience...

  9. #9
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 602
    Par défaut
    Citation Envoyé par champomy62 Voir le message
    Bluedeep, tu parlais de classe imbriqué,
    non, c'est pas moi, c'est BenoitM.
    Personnellement, je ne fabriquerais pas un modèle objet en fonction de ce que je trouve dans la base,mais en fonction de mes besoins métiers. Donc si je dois adapter le modèle de données sans toucher le modèle physique => vues.

Discussions similaires

  1. Sauvegarde des champs d'une classe dans un fichier
    Par AlfredKr dans le forum Débuter
    Réponses: 1
    Dernier message: 15/10/2012, 14h39
  2. Réponses: 23
    Dernier message: 11/11/2007, 20h01
  3. instanciation unique d'un champs dans une classe
    Par F.Victoire dans le forum Delphi
    Réponses: 4
    Dernier message: 15/06/2006, 18h34
  4. Ordre des champs dans une table
    Par patapetz dans le forum Outils
    Réponses: 5
    Dernier message: 30/07/2003, 06h53

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