56

在学校学习过 Java,我对 DAO 模式(数据访问对象)非常熟悉。但是在工作中我使用.NET。在 .NET 中经常谈论 DAL(数据访问层)。对我来说,他们的目的似乎很相似。所以问题是DAO和DAL基本上是一回事吗?DAL 一词是否只是为了不与数据访问对象混淆而组成的?

4

2 回答 2

85

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

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

于 2009-07-06T11:44:53.437 回答
18

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

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

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

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

于 2009-07-06T11:41:27.670 回答