请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

Dao Dto Po概念能不能讲解一下

老师我是从python转过来的,目前遇到的Dao Dto Po这些概念也都查询过,但是总感觉云里雾里的,那具体到咱们这个项目,这些概念是如何应用的,能弄个整体的概念图把这些说说么。

正在回答

1回答

枫荇 2019-11-10 11:44:59

您好,同学!带来不便非常抱歉,简单说:

DAO/Dao=data access object数据访问对象,通常用来数据库访问,通俗说就是数据库增删改查的逻辑(SQL执行)都在DAO中,这里的数据库是泛指,mysql,redis,远程数据服务的访问都可以封装到DAO对象中,是直接和数据打交道的对象

DTO/Dto= data transfer object 数据传输对象,通常在网络传输时使用,同样网络是泛指,是指2个相互独立且相互隔离不耦合的应用程序之间通信时需要定义DTO来作为数据交换时的数据映射,有些同学把请求时的对象以Requst/Req结尾,数据返回时的对象以Response/Resp/Res结尾,其实都是DTO中的一中,也可以通俗的使用DTO作为后缀来定义数据传输对象,所以数据传输对象通常被用在一个相对独立的应用程序模块的最外层。

PO= persistence object 持久化对象,和DAO配合一起使用,Dao操作和查询数据库时,需要将数据和对象映射,有时候业务不是太复杂的场景中为了简化编程(快速迭代或者人力不足时),会把PO借用给Domain对象使用,那么Domain就可以简化,来减少对象之间的转换,同时也会节省一点点性能,但逻辑上还是分离的,只是借用PO作为Domain的一部分。


但无论什么对象,基本上都可以归为2类:

  1. 有行为的对象,例如Dao,Domain对象,除了数据存储和转换还会有数据操作逻辑

  2. 无行为的对象,例如DTO,PO,纯粹作为数据存储和转换

行为指的是,对象的(方法、函数)



关于这些对象的介绍,资料太多,我就直接给你链接烦请看一下,有何疑问我再具体回答您。

https://www.jianshu.com/p/8263d5236705 

PO,VO,DAO,DTO,BO,POJO详解



1 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信