Quelle est la différence entre DAO et DAL?

ayant étudié le Java à l'école, je suis assez familier avec le modèle DAO( Data access object). Cependant au travail j'utilise .NET. Dans .NET, on parle souvent du DAL( Couche D'Accès Aux Données). Leur but me semble assez similaire. La question est donc de savoir si DAO et DAL sont fondamentalement la même chose? Est - ce que le terme DAL est inventé pour ne pas être confondu avec Objets D'Accès Aux Données?

40
demandé sur Xstian 2009-07-06 15:29:30

2 réponses

la couche D'accès aux données (LAD) est la couche d'un système qui existe entre la couche logique opérationnelle et la couche de persistance / stockage. Un DAL peut être une classe unique, ou il peut être composé de plusieurs objets D'accès aux données (Oad). Il peut y avoir une façade au-dessus pour la couche des affaires à laquelle parler, cachant la complexité de la logique d'accès aux données. Il peut s'agir d'un outil tiers de cartographie des objets relationnels (ORM) tel que Hibernate.

DAL est un terme architectural, DAOs sont un détail de conception.

61
répondu Matt Howells 2009-07-06 11:51:06

Une couche d'accès aux données contiennent de nombreux objets d'accès aux données.

son rôle principal est de découpler la logique opérationnelle de la logique de la base de données et de sa mise en œuvre.

par exemple, le DAL peut avoir une méthode unique qui extraira des données de plusieurs tables, requêtes ou procédures stockées via un ou plusieurs objets d'accès aux données.

les changements à la structure de la base de données, DAOs, procédures stockées ou même le type de base de données ne devraient pas entraîner de changements à l'entreprise logique et cela est dû au découplage fourni par le DAL.

13
répondu ChrisBD 2009-07-06 11:41:27