Patrons de conception/Carte d'identité
Patron de conception | |
---|---|
Catégorie : Entreprise – Architecture de source de données | |
Nom français : | Carte d'identité |
Nom anglais : | Identity Map |
Garantir que le chargement de chaque objet se fasse une seule fois en le conservant dans un dictionnaire permettant également la recherche d'objets. |
Une carte d'identité garantit que chaque objet n'est chargé qu'une seule fois en conservant chaque objet chargé dans un dictionnaire.
La référence aux objets se fait par recherche à l'aide du dictionnaire.
Le chargement d'objets à partir d'une base de données peut cause de grands problèmes : Si vous ne faites pas attention, vous pouvez charger les données du même enregistrement de base de données dans deux objets différents. Ensuite, lorsque vous les mettrez à jour, vous passerez un moment intéressant à écrire correctement les modifications dans la base de données.
Lié à cela, il y a un problème de performances évident. Si vous chargez les mêmes données plus d'une fois, vous encourez un coût élevé en appels à distance. Ainsi, ne pas charger deux fois les mêmes données ne contribue pas seulement à l'exactitude, mais peut également accélérer votre application.
Une carte d'identité conserve un enregistrement de tous les objets qui ont été lus à partir de la base de données dans une seule transaction commerciale. Chaque fois que vous voulez un objet, vous vérifiez d'abord la carte d'identité pour voir si vous l'avez déjà.