DAO和DAL有什么区别?

DAO和DAL有什么区别?,dao,data-access-layer,data-access-object,Dao,Data Access Layer,Data Access Object,在学校学习过Java之后,我对DAO-pattern()非常熟悉。然而在工作中我使用.NET。在.NET中,经常有关于DAL()的讨论。在我看来,他们的目的似乎很相似。所以问题是DAO和DAL基本上是一样的吗?术语DAL是否只是为了避免与之混淆而编造的?数据访问层将包含许多数据访问对象 它的主要作用是将业务逻辑与数据库逻辑和实现解耦 例如,DAL可能有一个方法,该方法将通过一个或多个数据访问对象从多个表、查询或存储过程中检索数据 数据库结构、DAO、存储过程甚至数据库类型的更改不应引起业务逻辑的

在学校学习过Java之后,我对DAO-pattern()非常熟悉。然而在工作中我使用.NET。在.NET中,经常有关于DAL()的讨论。在我看来,他们的目的似乎很相似。所以问题是DAO和DAL基本上是一样的吗?术语DAL是否只是为了避免与之混淆而编造的?

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

它的主要作用是将业务逻辑与数据库逻辑和实现解耦

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

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

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


DAL是一个体系结构术语,DAO是一个设计细节。

我一直认为DAL是数据抽象层。比如说,我有一个名为DAO的接口,它有一个类似getCustomer()的方法。该接口由SqlServerDAO类实现。调用getCustomer()时,SqlServerDAO从数据库中获取数据,创建并返回Customer对象。在本例中,DAL由DAO接口和SqlServerDAO类组成,对吗?+1表示“DAL是一个架构术语,DAO是一个设计细节。”