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

  1. #1
    Membre actif
    L'utilisation d'une ORM rend il la fabrique abstraite inutile?
    Salut a tous,

    j'ai actuellement une Discussion avec un collégue. Nous sommes entrain d' écrire une Framework Java from scratch. Actuellement il se porte le probleme de la creation des users pour notre plateforme. Mon collégue affirme que l'utilisation d'une ORM rendrais non seulement la tâche plus rapide mais aussi plus facile. Moi je suis plûtot de l'avis que même en utilisant un ORM, ceci n'exclut pas le clean code donc le Design Pattern comme la Fabrique Abstraite.

    Qu'est que vous en pensez faudrait il mieux utiliser des ORMs ou bien l'utilisation de celle ci n'empêche pas l'utilisation des Creational Patterns?

  2. #2
    Futur Membre du Club
    Hello,

    perso, je vois pas de lien.

    Ton ORM est une couche de modélisation de ta base de données avec tous les accesseurs pour requêter en base sans utiliser la moindre SQL Explicitement.
    Ton Factory s'occupe de créér des instances de classes.

    Une fois tes instances créées, si elles ont besoin d'agir sur la BDD elles le feront au travers de ton ORM.

    Cdlt.

  3. #3
    Membre confirmé
    Bonjour,

    Tout dépends si vous souhaitez développer un framework performant ou si vous souhaitez développer un framework facilement et vite. Si vous souhaitez la performance, je répondrais ni l'un ni l'autre, et si vous souhaitez un compromis entre les deux, je dirais que l'ORM est le pire.

    Je reste à votre disposition pour un complément d'information éventuel.

    Cordialement.

  4. #4
    Membre confirmé
    Bonjour,

    Je vois que je me suis pris un vote négatif, peut-être l'ai-je mérité, je vais donc argumenter et expliquer le pourquoi de ma réponse.
    Pour garder les performances, il faut toujours communiquer avec la source principale de données de l'application en mode natif, chose qui est impossible si on utilise ces outils dans un contexte d'abstraction pure. C'est d'ailleurs ainsi que SSMS a été développé : on modélise en objet la DB à administrer mais on communique avec elle uniquement en natif. Les requêtes sont donc non standardisées et non générique mais uniquement spécifiques au SGBDR ciblé selon la tâche à accomplir.

    Or ce n'est pas du tout ainsi que des outils comme les ORM sont utilisés dans les frameworks web actuels, mais plutôt comme outil d'abstraction pour faire de l'abstraction et requêter de la même manière SQL Server et postgreSQL par exemple (standardisation de la couche d'accès aux données). La fabrique de classe dans ce sens ce rapproche plus de la bonne pratique car elle laisse la place plus aisément à de l'implémentation spécifique du SGBDR cible.

    Mon conseil est d'utiliser l'ORM que dans un contexte de migration de données ou alors éventuellement dans le contexte d'un module d'import/export de données, et la fabrique de classe pour communiquer avec la source principale de données de votre applicatif à la seule condition de laisser la place dans votre modèle à une implémentation native au SGBDR ciblé au niveau de la couche métier.

    ++

###raw>template_hook.ano_emploi###