DAO和DAL有什么区别?

时间:2009-07-06 11:29:31

标签: dao data-access-layer data-access-object

在学校学习Java后,我对DAO模式(Data access object)非常熟悉。但是在工作中我使用.NET。在.NET中经常有关于DAL(Data Access Layer)的讨论。对我来说,他们的目的似乎很相似。所以问题是DAO和DAL基本相同吗? DAL这个术语是否仅用于填充Data Access Objects

2 个答案:

答案 0 :(得分:64)

数据访问层(DAL)是业务逻辑层和持久性/存储层之间存在的系统层。 DAL可以是单个类,也可以由多个数据访问对象(DAO)组成。它可能有一个顶部的外观,供业务层交谈,隐藏数据访问逻辑的复杂性。它可能是第三方对象关系映射工具(ORM),如Hibernate。

DAL是一个架构术语,DAO是一个设计细节。

答案 1 :(得分:14)

数据访问层将包含许多数据访问对象。

它的主要作用是将业务逻辑与数据库逻辑和实现分离。

例如,DAL可能有一个方法,它将通过一个或多个数据访问对象从多个表,查询或存储过程中检索数据。

对数据库结构,DAO,存储过程甚至数据库类型的更改不应该对业务逻辑进行更改,这取决于DAL提供的解耦。