<!-- Slide number: 1 -->

1
DAO & dto
Réaliser par :
Wided kochbati
Ahlem yaakoubi
DSI32
<!-- Slide number: 2 -->
PLAN

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

<!-- 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

DAOs pour accéder à la base
Utilisent les DAOs
<!-- Slide number: 9 -->
Exemple en java
9


<!-- 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

<!-- 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:

<!-- 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 .

<!-- Slide number: 17 -->

17
Merci pour votre Attention