2009-07-06 112 views

回答

57

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

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

+4

假设我有一个名为DAO的接口,它有一个getCustomer()方法。该接口由SqlServerDAO-class实现。当调用getCustomer()时,SqlServerDAO从DB获取数据,创建并返回Customer对象。在这种情况下,DAL由DAO接口和SqlServerDAO类组成,对吧? – simoraman 2009-07-07 05:54:14

11

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

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

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

更改数据库结构,DAO中,存储过程,甚至数据库的类型不应该承担更改业务逻辑,这是到由DAL提供的脱钩。