java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Java domain dto

Java中domain和dto区别小结

作者:前端工作日常

本文主要介绍了Java中domain和dto区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

核心概念

1. Domain 和 DTO 的异同

对比维度Domain(领域对象 / PO / Entity)DTO(数据传输对象)
核心职责持久化:负责与数据库表结构一一映射(ORM)。传输:负责在“后端”与“前端(或第三方接口)”之间传递数据。
包含属性全量字段:包含数据库表中所有的列(比如:id, name, password, salt, create_time, update_time)。部分字段:只包含前端当前页面需要的字段(比如:只返回 id 和 name,不要 password)。
包含逻辑可以有业务逻辑:可以包含一些针对该实体类的校验方法或业务计算方法。纯数据载体:只应该有字段和 getter/setter,绝对不包含任何业务逻辑。
敏感信息包含敏感信息:直接包含数据库里的密码、加密盐值等。过滤敏感信息:严禁包含密码、身份证号等不该暴露给前端的数据。

2. 为什么需要分两个?

如果偷懒不分层,直接把 Domain 对象返回给前端(Controller 层直接返回 Entity),你会遇到以下 3 个致命问题:

3. 一个生动的“外卖”类比

💡 实践中的归属划分

总结一句话:Domain 面向数据库(对内),DTO 面向用户(对外)。  分开了,后端代码可以随便重构优化,前端永远不知情,这才是正规军写法的精髓。

到此这篇关于Java中domain和dto区别小结的文章就介绍到这了,更多相关Java domain dto内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文