在学校学习Java后,我对DAO模式(数据访问对象)非常熟悉.但是在工作中我使用.NET.在.NET中,经常有关于DAL(数据访问层)的讨论.对我来说,他们的目的似乎很相似.所以问题是DAO和DAL基本相同吗?DAL这个术语是否只是组成,所以它不会与数据访问对象混淆?
数据访问层(DAL)是存在于业务逻辑层和持久性/存储层之间的系统层.DAL可以是单个类,也可以由多个数据访问对象(DAO)组成.它可能有一个顶部的外观,供业务层交谈,隐藏数据访问逻辑的复杂性.它可能是第三方对象关系映射工具(ORM),如Hibernate.
DAL是一个架构术语,DAO是一个设计细节.
数据访问层将包含许多数据访问对象.
它的主要作用是将业务逻辑与数据库逻辑和实现分离.
例如,DAL可以具有单个方法,该方法将通过一个或多个数据访问对象从若干表,查询或存储过程中检索数据.
对数据库结构,DAO,存储过程甚至数据库类型的更改不应该对业务逻辑进行更改,这取决于DAL提供的解耦.