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

Accès aux données Discussion :

Mapping Objet / Relationnel


Sujet :

Accès aux données

  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2005
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 513
    Points : 416
    Points
    416
    Par défaut Mapping Objet / Relationnel
    Bonjour a tous,
    voila constatent que le mapping Objet/Relationnel devient si je peux dire à la mode. J'aimerais savoir à quel moment on estime "indispensable" de s'en servir.
    Par exemple dans mon cas je développe une application de taille moyenne et je me demander si utiliser le mapping était une bonne idée. J'ai donc fait des recherche, mais le seul avantage que j'ai constaté à utiliser cette "technique" c'est de me passer d'écrire du code SQL.
    C'est pour cela que j'aimerais avoir quelques explication.
    Merci par avance.
    Jérémy
    Ingénieur Conception et Développement

  2. #2
    Nip
    Nip est déconnecté
    Rédacteur

    Inscrit en
    Juin 2004
    Messages
    963
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 963
    Points : 1 076
    Points
    1 076
    Par défaut
    De mon point de vue sachant que toutes les applis de taille moyenne demande une couche d'acces aux donnees, je dirais tout le temps. Un faible cout d'apprentissage pour un temps gagner phenomenal. Tu evites d'ecrire tout le SQL, toute la couche d'acces aux donnees et tu te concentres sur le metier de ton appli, c'est pas genial?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 122
    Points : 124
    Points
    124
    Par défaut
    Attention quand même à la lenteur de ces outils. Ils ralentissent de manière importnate l'application. Si les accès aux données sont ponctuels, c'est une bonne solution. Sinon, il vaut mieux éviter de les utiliser.

  4. #4
    Nip
    Nip est déconnecté
    Rédacteur

    Inscrit en
    Juin 2004
    Messages
    963
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 963
    Points : 1 076
    Points
    1 076
    Par défaut
    Citation Envoyé par joujou_le_fou
    Attention quand même à la lenteur de ces outils. Ils ralentissent de manière importnate l'application. Si les accès aux données sont ponctuels, c'est une bonne solution. Sinon, il vaut mieux éviter de les utiliser.
    Tout depend le type d'appli que tu concois mais on va dire que dans 80% des cas ce sont des applis qui sont standards, de gestion ou sites web, et dans tous ces cas l'utilisation d'un outil de mapping te permet, non seulement de t'aider au developpement multi couche, mais aussi t'assure de correctement construire ton acces aux donnees, une plus grand scalabilite et efficacite dans le developpement tout ca pour une perte de performance totalement negligeable.
    Effectivement les outils de mapping utilisent la reflexion (ce que ne font pas les generateurs de code) mais l'argument de la performance pour se passer de ces outils est une chimere: une appli correctement concue sera toujours a long terme beaucoup plus performante qu'une appli avec des acces directs aux donnees de tous les cotes.
    Donc pas d'hesitation .

  5. #5
    Expert éminent
    Avatar de neo.51
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    2 663
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 663
    Points : 6 418
    Points
    6 418
    Par défaut
    utiliser un dataset avec un dataadapter revient à faire du mapping objet/relationnel.

    après les outils et les modèles d'architecture peuvent changer mais on peut dire que dans toutes les applis dotnet utilisant des dataset on fait du mapping objet relationnel

  6. #6
    Nip
    Nip est déconnecté
    Rédacteur

    Inscrit en
    Juin 2004
    Messages
    963
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 963
    Points : 1 076
    Points
    1 076
    Par défaut
    Citation Envoyé par neo.51
    utiliser un dataset avec un dataadapter revient à faire du mapping objet/relationnel.
    C'est certain, sauf que un dataset c'est non type, et au niveau de la gestion des dependances on a vu mieux , la plupart du temps on mappe les donnees et on passe ca direct a l'IHM; c'est simple d'usage certes mais bon... .
    Pour que LordBob fasse bien la difference, d'un cote avec le Dataset tu bosses avec des structures de donnees qui suivent le format de ta base de donnees et de l'autres du bosses avec des objets de donnees orientes metiers.

  7. #7
    Expert éminent
    Avatar de neo.51
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    2 663
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 663
    Points : 6 418
    Points
    6 418
    Par défaut
    sauf que un dataset c'est non type
    Sauf quand tu fais un dataset fortement typé

    avec le Dataset tu bosses avec des structures de donnees qui suivent le format de ta base de donnees et de l'autres du bosses avec des objets de donnees orientes metiers
    on peut très bien hériter un dataset pour lui ajouter des fonction "métier". Mais la on rentre plus dans un débat qui relève du design d'architecture et de la séparation des couches.

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 20
    Points : 36
    Points
    36
    Par défaut
    J'ai eu des surprises en utilisant un framework OR "maison". Mais ça marche bien quand tout reste bien "plat": quand la couche métier se complique (associations, aggregations...), il faut passer par du code spécifique pour certaines stratégies d'accès aux données plus complexes (retourner des listes basées sur des vues, par exemple), et on retombe dans les travers qu'on cherche à éviter.

    Sinon, Il y'a une solution alternative : les générateurs de code.
    Je me souviens de NTierGen pour .NET 1.1 qui générait des dataset typés "maison", et qui malheureusement ne semble plus maintenu.

    Les classes "partial" introduits dans .NET 2.0 offrent de nouvelles possibilités pour cohabiter avec du code généré de manière plus confortable, je pense essayer ça plutôt qu'un framework OR.

Discussions similaires

  1. Etat des lieux des outils de mapping objet/relationnel (ORM)
    Par Exsilius dans le forum Général Dotnet
    Réponses: 12
    Dernier message: 12/02/2008, 09h50
  2. CF2 et Mapping objet relationnel
    Par Silverd dans le forum Windows Mobile
    Réponses: 4
    Dernier message: 04/09/2007, 13h06
  3. Mapping Objet/Relationnel : optimisez les performances ?
    Par voyageur dans le forum Optimisations
    Réponses: 10
    Dernier message: 12/06/2007, 16h51
  4. Outil de mapping objet/relationnel OR not ?
    Par Exsilius dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 01/02/2007, 19h52
  5. [SQL] Abstraction BDD et mapping objet/relationnel
    Par Invité dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 26/07/2006, 14h35

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