DAO & DTO

Institut Supérieur des Études Technologiques
1/17
100%

<!-- Slide number: 1 -->

![Résultat de recherche d'images pour "logo iset bizerte"](Picture2.jpg)

1

DAO & dto

Réaliser par :

Wided kochbati

Ahlem yaakoubi

DSI32

<!-- Slide number: 2 -->

PLAN

![Résultat de recherche d'images pour "IMAGE DE PLAN"](Picture4.jpg)

2

Présentation DAO

Présentation DTO

Différence entre DAO et DTO

Conclusion

<!-- Slide number: 3 -->

3

Le Modèle DAO

<!-- Slide number: 4 -->

4

Présentation Dao

Publicité

Les DAO (objets d'accès aux données) vous permettent d'utiliser un langage de programmation pour extraire et manipuler des données dans des bases de données locales ou distantes. Ils vous permettent également de gérer des bases de données, ainsi que les objets et la structure de ces dernières.

<!-- Slide number: 5 -->

Utilité de DAO

5

Faciliter la modification du modèle de base de données

Factoriser le code d’accès aux données

Faciliter l’optimisation des accès à la base en les regroupant au sein d’objets particuliers

![Résultat de recherche d'images pour "utilité"](Picture2.jpg)

<!-- Slide number: 6 -->

Problèmes à résoudre

6

Variation du code de persistance en fonction :

Du type de support de persistance (BD relationnelle, BD objet, fichiers, etc.)

Des différentes implémentations des fournisseurs de SGBD

Difficulté à changer de support de persistance en cas d’imbrication du code de persistance et du code métier

La solution

Séparation des entrées-sorties des classes métier

Utilisation d’un objet particulier - objet d’accès aux données - pour abstraire et encapsuler les accès aux données

<!-- Slide number: 7 -->

Emplacements des DAO

7

Les DAOs sont placés dans la couche dite « d’accès aux données » qui est souvent sur une autre machine que la couche des objets métiers.

Publicité

Les échanges de messages entre les DAOs et les objets métiers engendrent donc souvent des appels distants et des DTO peuvent donc être utilisés pour améliorer la vitesse des échanges.

<!-- Slide number: 8 -->

Modèles de persistance : DAO

8

![](Picture1.jpg)

DAOs pour accéder à la base

Utilisent les DAOs

<!-- Slide number: 9 -->

Exemple en java

9

![](Picture7.jpg)

![](Picture3.jpg)

<!-- Slide number: 10 -->

10

Le Modèle DTO

<!-- Slide number: 11 -->

11

Présentation DTO

Un objet de transfert de données (data transfer object ou DTO en anglais) est un patron de conception utilisé dans les architectures logicielles objet.

Son but est de simplifier les transferts de données entre les sous-systèmes d'une application logicielle. Les objets de transfert de données sont souvent utilisés en conjonction des objets d'accès aux données.

Le DTO se distingue du DAO (objet d'accès aux données) car il ne permet que de modifier ou d'accéder à ses données (avec des mutateurs et accesseurs).

<!-- Slide number: 12 -->

Publicité

Utilité de DTO

12

Les DAOs sont situés dans une couche proche de la base de données

Le code utilisateur des DAOs est souvent situé sur une autre couche distante

Les DTOs peuvent être utilisés pour transporter les données entre les différentes couches distantes

![Résultat de recherche d'images pour "utilité"](Picture2.jpg)

<!-- Slide number: 13 -->

Problèmes à résoudre

13

Un client souhaite récupérer des données en interrogeant des objets distants non facilement transportables sur le réseau

Exemple : récupérer les nom, prénom, salaire et lieu de travail d’un employé

S’il utilise les accesseurs des classes des objets (getNom, getPrenom, getSalaire, getLieu), plusieurs appels distants sont nécessaire

La solution

Le client demande un objet qui contient toutes

les valeurs dont il a besoin

Un DTO contient l’état d’un ou de plusieurs objets métier, mais pas leur comportement

Cet objet, un Data Transfert Object (DTO), est construit sur le site distant et passé en une seule fois au client

<!-- Slide number: 14 -->

Exemples d’utilisation des DTO

14

Transporter les données d’un objet distant pas transportable sur le réseau (pas sérialisable)

Transporter plusieurs objets distants en un seul appel distant ; par exemple une facture avec toutes les lignes de facture et les informations sur les produits

Publicité

Pour éviter les complications inutiles il faut éviter les DTOs si l’application est locale (pas distribuée)

<!-- Slide number: 15 -->

La différence entre DAO et DTO

15

DAO est une abréviation de Data Access Object, il doit donc encapsuler la logique de récupération, d'enregistrement et de mise à jour des données dans votre stockage de données (base de données, système de fichiers, etc.).

DTO est l'abréviation de Data Transfer Object (Objet de transfert de données). Il est donc utilisé pour transférer les données entre les classes et les modules de votre application. DTO ne doit contenir que des champs privés pour vos données, getters, setters et constructeurs. Il n'est pas recommandé d'ajouter des méthodes de logique métier à de telles classes, mais il est possible d'ajouter des méthodes util.

Voici un exemple à quoi ressembleront les interfaces DAO et DTO:

![](Picture17.jpg)

<!-- Slide number: 16 -->

16

CONCLUSION

Le DTO / DAO serait votre modèle dans le modèle MVC. Le MVC est un modèle plus large. Il vous indique comment organiser l'ensemble de l'application, pas seulement la partie responsable de la récupération des données .

![http://badgerlink.dpi.wi.gov/sites/default/files/imce/research_guide/write.png](Picture2.jpg)

<!-- Slide number: 17 -->

![](Picture8.jpg)

17

Merci pour votre Attention

DAO & DTO

Institut Supérieur des Études Technologiques · Software Architecture Design Patterns · notes

Browse all génie logiciel documents

<!-- Slide number: 1 -->

![Résultat de recherche d'images pour "logo iset bizerte"](Picture2.jpg)

1

DAO & dto

Réaliser par :

Wided kochbati

Ahlem yaakoubi

DSI32

<!-- Slide number: 2 -->

PLAN

![Résultat de recherche d'images pour "IMAGE DE PLAN"](Picture4.jpg)

2

Présentation DAO

Présentation DTO

Différence entre DAO et DTO

Conclusion

<!-- Slide number: 3 -->

3

Le Modèle DAO

<!-- Slide number: 4 -->

4

Présentation Dao

Advertisement

Les DAO (objets d'accès aux données) vous permettent d'utiliser un langage de programmation pour extraire et manipuler des données dans des bases de données locales ou distantes. Ils vous permettent également de gérer des bases de données, ainsi que les objets et la structure de ces dernières.

<!-- Slide number: 5 -->

Utilité de DAO

5

Faciliter la modification du modèle de base de données

Factoriser le code d’accès aux données

Faciliter l’optimisation des accès à la base en les regroupant au sein d’objets particuliers

![Résultat de recherche d'images pour "utilité"](Picture2.jpg)

<!-- Slide number: 6 -->

Problèmes à résoudre

6

Variation du code de persistance en fonction :

Du type de support de persistance (BD relationnelle, BD objet, fichiers, etc.)

Des différentes implémentations des fournisseurs de SGBD

Difficulté à changer de support de persistance en cas d’imbrication du code de persistance et du code métier

La solution

Séparation des entrées-sorties des classes métier

Utilisation d’un objet particulier - objet d’accès aux données - pour abstraire et encapsuler les accès aux données

<!-- Slide number: 7 -->

Emplacements des DAO

7

Les DAOs sont placés dans la couche dite « d’accès aux données » qui est souvent sur une autre machine que la couche des objets métiers.

Advertisement

Les échanges de messages entre les DAOs et les objets métiers engendrent donc souvent des appels distants et des DTO peuvent donc être utilisés pour améliorer la vitesse des échanges.

<!-- Slide number: 8 -->

Modèles de persistance : DAO

8

![](Picture1.jpg)

DAOs pour accéder à la base

Utilisent les DAOs

<!-- Slide number: 9 -->

Exemple en java

9

![](Picture7.jpg)

![](Picture3.jpg)

<!-- Slide number: 10 -->

10

Le Modèle DTO

<!-- Slide number: 11 -->

11

Présentation DTO

Un objet de transfert de données (data transfer object ou DTO en anglais) est un patron de conception utilisé dans les architectures logicielles objet.

Son but est de simplifier les transferts de données entre les sous-systèmes d'une application logicielle. Les objets de transfert de données sont souvent utilisés en conjonction des objets d'accès aux données.

Le DTO se distingue du DAO (objet d'accès aux données) car il ne permet que de modifier ou d'accéder à ses données (avec des mutateurs et accesseurs).

<!-- Slide number: 12 -->

Advertisement

Utilité de DTO

12

Les DAOs sont situés dans une couche proche de la base de données

Le code utilisateur des DAOs est souvent situé sur une autre couche distante

Les DTOs peuvent être utilisés pour transporter les données entre les différentes couches distantes

![Résultat de recherche d'images pour "utilité"](Picture2.jpg)

<!-- Slide number: 13 -->

Problèmes à résoudre

13

Un client souhaite récupérer des données en interrogeant des objets distants non facilement transportables sur le réseau

Exemple : récupérer les nom, prénom, salaire et lieu de travail d’un employé

S’il utilise les accesseurs des classes des objets (getNom, getPrenom, getSalaire, getLieu), plusieurs appels distants sont nécessaire

La solution

Le client demande un objet qui contient toutes

les valeurs dont il a besoin

Un DTO contient l’état d’un ou de plusieurs objets métier, mais pas leur comportement

Cet objet, un Data Transfert Object (DTO), est construit sur le site distant et passé en une seule fois au client

<!-- Slide number: 14 -->

Exemples d’utilisation des DTO

14

Transporter les données d’un objet distant pas transportable sur le réseau (pas sérialisable)

Transporter plusieurs objets distants en un seul appel distant ; par exemple une facture avec toutes les lignes de facture et les informations sur les produits

Advertisement

Pour éviter les complications inutiles il faut éviter les DTOs si l’application est locale (pas distribuée)

<!-- Slide number: 15 -->

La différence entre DAO et DTO

15

DAO est une abréviation de Data Access Object, il doit donc encapsuler la logique de récupération, d'enregistrement et de mise à jour des données dans votre stockage de données (base de données, système de fichiers, etc.).

DTO est l'abréviation de Data Transfer Object (Objet de transfert de données). Il est donc utilisé pour transférer les données entre les classes et les modules de votre application. DTO ne doit contenir que des champs privés pour vos données, getters, setters et constructeurs. Il n'est pas recommandé d'ajouter des méthodes de logique métier à de telles classes, mais il est possible d'ajouter des méthodes util.

Voici un exemple à quoi ressembleront les interfaces DAO et DTO:

![](Picture17.jpg)

<!-- Slide number: 16 -->

16

CONCLUSION

Le DTO / DAO serait votre modèle dans le modèle MVC. Le MVC est un modèle plus large. Il vous indique comment organiser l'ensemble de l'application, pas seulement la partie responsable de la récupération des données .

![http://badgerlink.dpi.wi.gov/sites/default/files/imce/research_guide/write.png](Picture2.jpg)

<!-- Slide number: 17 -->

![](Picture8.jpg)

17

Merci pour votre Attention