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

Design Patterns Discussion :

[DAO] Le TransfertObject


Sujet :

Design Patterns

  1. #1
    Membre confirmé

    Inscrit en
    Novembre 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Novembre 2007
    Messages : 197
    Par défaut [DAO] Le TransfertObject
    Bonjour,

    Depuis longtemps j'utilise différentes implémentation plus ou moins bricolé du pattern DAO, principalement inspiré de ce site. J'ai réalisé ce pattern en Java, PHP, C++ et C# mais avec très peu de rigueur.

    Ma dernière expérience fut en C#, dans le cadre d'un petit projet (~10K de code). Nous avions une contrainte particulière sur la source de données, qui pouvait osciller entre SQL Server 2000, 2005 ou 2008, ou encore Access 2002-2003 ou Access 2007 et MySQL 5.

    J'ai donc débuter mes travaux et voici ce que j'en ai tirée :

    • BusinessObject : Objet métier, qui correspond par exemple à un utilisateur, un compte bancaire, etc ;
    • DataSource : C'est ma source de données, qui envoie les requêtes a celle-ci ;
    • DataAccessObject : Avec l'aide d'un DataSource, permet la gestion complète d'un type de BusinessObject.


    Mais dans le liens que je vous ai envoyer, il y a un petit mouton noir : le TransfertObject. Mais kesako ?!?

    Je ne sais pas dans quel angle voir la chose : voici ce que je crois comprendre :

    1. Mes classes dérivant de DataAccessObject et DataSource ont prit la responsabilité qu'aurait du prendre TransfertObject ;
    2. Mon DataAccessObject devrait utilisé un TransfertObject pour envoyer les données vers le DataSource ;
    3. Je suis à coté du sentier et l'analyse n'est pas mon domaine


    Je vous remercie d'avance de votre aide,

    Drew

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

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Billets dans le blog
    2
    Par défaut
    Les DTO sont les objets qui transitent entre la couche IHM et la couche métier dans le cas d'architectures distribuées (le tier IHM n'est pas sur le tier métier).

    Les DTO sont donc des "bouts" de tes BusinessObjects = les bouts dont l'IHM a besoin pour faire ce qu'elle a à faire. Dit d'une autre manière, les services métiers qui sont offerts à l'IHM et aux autres applications aussi si ton application peut être appelée par d'autres applications, ont des paramètres en entrée/sortie typés avec des DTO.
    Tu peux aussi faire le parallèle entre DTO et vues côtés bases de données. Les BusinessObject sont les Tables, les DTO des Vues. Les DTO contiennent des attributs provenant directementdes BusinessObjects mais aussi, si besoin, des données calculées.

    Quand un service récupère en entrée un ou plusieurs DTO, son premier job est de récupérer le ou les BusinessObjects (BO) correspondant puis de transféréer les données du DTO dans les BO, ceci en s'appuyant sur tes DAO. Ensuite, ils (les services) exécutent la logique métier en travaillant toujours sur les BO, pas avec les DTO qui ne sont que des objets de transfert.
    Si tu dois retourner des infos, ton service créera un ou plusieurs DTO à partir des BO.

    Si tu veux plus de précisions, n'hésites pas

Discussions similaires

  1. Réponses: 9
    Dernier message: 20/09/2005, 17h18
  2. [architecture] [DAO] choisir hibernate ou JDO?
    Par Aldo dans le forum Hibernate
    Réponses: 2
    Dernier message: 06/04/2005, 14h37
  3. [MFC]Ouverture d'une base de donnee avec DAO
    Par Wyatt dans le forum MFC
    Réponses: 7
    Dernier message: 24/01/2005, 10h06
  4. Précisions sur les recordset DAO
    Par Igricheff dans le forum VBA Access
    Réponses: 2
    Dernier message: 18/01/2005, 17h16
  5. [VB6] Avantage de DAO par rapport à ADO
    Par crazyyann dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 17/06/2004, 07h48

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