DAO和DTO的区别

DAO和DTO的区别,第1张

DAO叫数据访问对象,DTO是数据传输对象。

DAO通常是将非对象数据(如关系数据库中的数据)以对象瞎颤的方式 *** 纵。DTO通常用于不同层(UI层、服务州神让层或者域模型层)直接的数据传输,以隔离不同层,降低层间册局耦合。

DAO (Data Access Objects) 数据访问对象是第一个面向对象的接口,它显露了Microsoft Jet 数据库引擎(由 Microsoft Access 所使用),并允许 Visual Basic 开发者通过 ODBC 象直接连接到其他数据库一样,直接连接到 Access 表。DAO 最适用于单系统应用程序或小范围本地分布使用。

POJO是一种概念或者接口,身份及作用随环境变化而变化,DTO是经过处理后的PO,可能增加或者减少PO的属性,一个POJO持久化以后就是PO。

一、具体含义:

POJO(plainordinaryjavaobject):简单无规则java对象

传统意义的java对象。就是说在一些Object/RelationMapping工具中袭搭,能够做到维护数据库表记录的persisentobject完全是一个符合JavaBean规范的纯Java对象,没有增加别的属性和方法,是最基本的JavaBean,只有属性字段及setter和getter方法。

DAO(dataaccessobject):数据访问对象

是一个sun的一个标准j2ee设计模式,这个模式中有个接口就是DAO,它负持久散谈层的 *** 作。为业务层提供接口。此对象用于访问数据库。通常和PO结合使用,DAO中包含了各种数据库的 *** 作方法。通过它的方法,结合PO对数据库进行相关的 *** 作。夹在业务逻辑与数据库资源中间。配合VO,提供数据库的CRUD *** 作。

二、相关概念:

PO(persistantobject):持久对象

在o/r映射的时候出现的概念,如果没有o/r映射,没有这个概念存在了。通常对应数据模型(数据库),本身还有部分业务逻辑的处理。可以看成是与数据库中的表相映射的java对象。最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合。PO中应该不包含任何对数据库的 *** 作。

VO(valueobject):值对象

通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要.个人觉得同DTO(数据传输对象),在web上传递。

TO(TransferObject):数据传输对象

在应用程序不同tie(关系)之间传输的对象

BO(businessobject):业务对拍掘拿象

从业务模型的角度看,见UML元件领域模型中的领域对象。封装业务逻辑的java对象,通过调用DAO方法,结合PO,VO进行业务 *** 作。

这其实很好理解,这是java的mvc架构,这就像工厂中车间的情景一样,每个部门分管不同的流程和工作,比如

dao即使data access object,主要负责处理数据库 *** 作;

biz,business层,负责整个应用程序的相关业务流程,并用代码实现出来;

util,即utility,工具辅助层好腔睁,一组通用的代码集合,比如处理多语言功能,圆伏网站非法信息过滤等等功能的代码集;

web,即是前台网页处理的后台代码,负责把从数据库中处理过的数据,通过web层处理之后,显示成html代码的部分。。。

这样经过每部分的分工合作,团队之间能更好的开发应用程序,而应用程序之间友岁的运作也会相对比较顺畅。。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12432966.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存