DAO是什么意思

DAO是一种设计模式,用于隔离应用程序和数据库之间的交互。它提供一个抽象接口,处理数据操作,隐藏数据库细节。DAO有助于简化组件间的分离,允许独立开发和测试,常用于Java EE应用与关系数据库的交互。虽然存在抽象泄漏和代码重复等缺点,但可以通过ORM框架或通用DAO减轻这些问题。
摘要由CSDN通过智能技术生成

数据访问对象(data access object,DAO)是为某种类型的数据库或其他持久性机制提供一个抽象接口的对象。通过映射应用程序对持久层的调用,DAO 提供一些特定的数据操作,而无需暴露数据库细节。这种隔离支持单一功能原则。它分离了应用程序需要访问哪些数据,就域特定对象和数据类型(DAO 的公共接口),而言,这些需求可以用数据库管理系统(DBMS)、数据库模式等满足(DAO 的实现)。

data access

尽管这种设计模式同样适用于以下内容:1、大多数编程语言;2、有持久化需求的大多数软件类型;3、大多数数据库。它在传统上与 Java EE 应用程序和关系数据库相关(通过 JDBC API 访问,因为它源于 Sun Microsystems 的最佳实践指南,该平台的“核心 J2EE 模式”)。

使用数据访问对象的优点是应用程序的两个重要部分之间相对简单并严格分离,它们可以但不应该彼此了解任何东西,并且两者可预期的频繁和独立发展。改变业务逻辑可以依赖于相同的 DAO 接口,而对持久性逻辑的更改只要接口保持正确实现,就不会影响 DAO 客户端。存储的所有细节都隐藏在应用程序的其余部分中(见信息隐藏)。因此,可以修改一个 DAO 实现而不影响应用程序的其余部分,从而可能实现对持久性机制的更改。DAO 充当了应用程序与数据库之间的中介,它们在对象与数据库记录之间来回转移数据。用测试替身取代 DAO 可以促进代码的单元测试,使测试不依赖于持久层。

在 Java 编程语言的非特定上

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值