什么是 DAO知识介绍
目前关于大家提出的什么是 DAO这个问题,大家都希望能够得到一个答案,那么小编今天就去收集了一些什么是 DAO相关的内容来分享给大家,如果大家感兴趣的话可以接着往下看。
数据访问对象(data access object,DAO)是为某种类型的数据库或其他持久性机制提供一个抽象接口的对象。通过映射应用程序对持久层的调用,DAO提供一些特定的数据操作,而无需暴露数据库细节。
数据访问对象(data access object,DAO)是为某种类型的数据库或其他持久性机制提供一个抽象接口的对象。通过映射应用程序对持久层的调用,DAO 提供一些特定的数据操作,而无需暴露数据库细节。这种隔离支持单一功能原则。它分离了应用程序需要访问哪些数据,就域特定对象和数据类型(DAO 的公共接口),而言,这些需求可以用数据库管理系统(DBMS)、数据库模式等满足(DAO 的实现)。
尽管这种设计模式同样适用于以下内容:大多数编程语言;有持久化需求的大多数软件类型;大多数数据库。它在传统上与 Java EE 应用程序和关系数据库相关(通过 JDBC API 访问,因为它源于 Sun Microsystems 的最佳实践指南,该平台的“核心 J2EE 模式”)。
优点使用数据访问对象的优点是应用程序的两个重要部分之间相对简单并严格分离,它们可以但不应该彼此了解任何东西,并且两者可预期的频繁和独立发展。改变业务逻辑可以依赖于相同的 DAO 接口,而对持久性逻辑的更改只要接口保持正确实现,就不会影响 DAO 客户端。存储的所有细节都隐藏在应用程序的其余部分中(见信息隐藏)。因此,可以修改一个 DAO 实现而不影响应用程序的其余部分,从而可能实现对持久性机制的更改。DAO 充当了应用程序与数据库之间的中介,它们在对象与数据库记录之间来回转移数据。用测试替身取代 DAO 可以促进代码的单元测试,使测试不依赖于持久层。
在 Java 编程语言的非特定上下文中,数据访问对象作为一项设计概念可以用多种方式实现。这可以将应用程序中的数据访问部分分离为非常简单的接口,迁移到框架或商业产品。DAO 编码范例可能需要一些技巧。像是 Java Persistence API 和 Enterprise JavaBeans 之类的技术已内置在应用程序服务器中,可以在 JavaEE 应用程序服务器的应用程序中使用。商业产品如 TopLink 可以在基于对象关系映射(ORM)的产品上使用。流行的开源 ORM 产品包括 Doctrine (PHP)、Hibernate、iBATIS,以及 JPA 实现(例如 Apache OpenJPA)。
缺点使用 DAO 的潜在缺点包括抽象泄漏、代码重复和抽象反演。尤其是将 DAO 作为常规 Java 对象的抽象会隐藏每个数据库访问的高成本,并且可能强迫开发人员触发多个数据库查询来检索普通 SQL 查询中一次就可取回的信息。如果一个应用程序需要多个 DAO,人们可能发现自己对每个 DAO 重复基本上相同的创建、读取、更新和删除代码。不过,也可以实现一个处理常用操作的通用 DAO 来避免样板化代码。
免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!
-
在如今的汽车市场中,20万元左右的预算可以买到不少性价比高、实用性强的代步车。这个价位的车型通常兼顾了舒...浏览全文>>
-
在新能源汽车市场不断发展的今天,越来越多的消费者将目光投向了纯电动车型。对于预算在20万元左右的用户来说...浏览全文>>
-
在选购汽车时,价格是一个重要的参考因素。对于预算在20万元左右的消费者来说,市场上有不少性价比高、配置丰...浏览全文>>
-
在2024年,国内SUV市场依然保持强劲增长势头,尤其是价格在20万元左右的车型,凭借较高的性价比和丰富的配置,...浏览全文>>
-
在当前的汽车市场中,20万元左右的SUV车型备受消费者关注。这个价格区间涵盖了众多品牌和车型,既有合资品牌的...浏览全文>>
-
在如今的汽车市场中,SUV凭借其宽敞的空间、良好的通过性和较高的性价比,成为许多家庭用户的首选。对于预算在...浏览全文>>
-
在如今的汽车市场中,20万元左右的预算可以买到不少性价比较高的SUV车型。这个价位的SUV不仅配置丰富,而且在...浏览全文>>
-
在如今的汽车市场中,SUV车型因其空间大、通过性强、外观大气等特点,受到了越来越多消费者的青睐。对于预算在...浏览全文>>
-
在预算20万元左右的SUV市场中,消费者往往面临众多选择。这个价位区间涵盖了合资品牌与国产高端车型,既有性价...浏览全文>>
-
在20万到30万元价格区间内,消费者往往更关注车辆的品质、配置、动力表现以及品牌影响力。这一价位段涵盖了众...浏览全文>>