admin 管理员组文章数量: 887031
DTO
POJO/PO/DO/Entity/DTO/VO/Query个人理解
- POJO:Plain Ordinary Java Object,普通java对象。
- PO:Persistent Object,持久化对象。
- DO:Data Object,数据对象。
- Entity:实体对象。
- DTO:Data Transfer Object,数据传输对象。
- VO:View Object,视图对象。
- Query:数据查询对象。
POJO:POJO专指只有setter/getter/toString的简单类,包括DO/DTO/BO/VO等。
PO/DO/Entity:三者是一个东西,与数据库结构一一对应,通过DAO(Mapper)层向上传输数据。
DTO:Service层向外传输的数据对象。
VO:Controller层返回给前端的对象。
Query:各层接收上层的查询请求。 注意超过2个参数的查询封装,禁止使用Map类来传输。
后端接收前端
有的人认为前端给后端传是视图层的交互,应该用VO,但也有人认为是接收的参数,应该用DTO。两个我都用过,现在感觉第一种更合理,改为使用VO。
DTO和VO
对于绝大部分的应用场景来说,DTO和VO的属性值基本是一致的,只用其一即可。两者都用的场景,比如:1-男,2-女。需要映射处理,如果在服务层处理,在设计层面从职责单一原则来看,服务层只负责业务,与具体的表现形式无关,返回的DTO,不应该出现与表现形式的耦合。
领域模型命名规约
- 数据对象:xxxDO,xxx即为数据表名。
- 数据传输对象:xxxDTO,xxx为业务领域相关的名称。
- 展示对象:xxxVO,xxx一般为网页名称。
- POJO是DO/DTO/BO/VO的统称,禁止命名成xxxPOJO。
本文标签: DTO
版权声明:本文标题:DTO 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1687191270h74367.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论