加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – DTO模式是否被弃用?

发布时间:2020-12-14 05:24:27 所属栏目:Java 来源:网络整理
导读:在完整的 Java EE应用程序集群中,DTO模式仍然是有效的选项?有关的应用程序使用EJBs Hibernate和Struts与Spring等.在这种情况下传输域对象有什么问题吗? 编辑:只是为了澄清我的问题,用Java EE的现代资源和改进是不是只有使用域??对象的原因?如果没有,那么
在完整的 Java EE应用程序集群中,DTO模式仍然是有效的选项?有关的应用程序使用EJBs Hibernate和Struts与Spring等.在这种情况下传输域对象有什么问题吗?

编辑:只是为了澄清我的问题,用Java EE的现代资源和改进是不是只有使用域??对象的原因?如果没有,那么DTO模式是不是逐渐消失,不应该在新的应用程序中使用?

解决方法

不被弃用如果DTO模式应该被使用,这取决于应用程序体系结构.例如,当您开发Web服务(使用JAX-WS或JAX-RS)时,您应该通过Web方式发送DTO,以便C#或 Python客户端应用程序可能会使用它,并且您的Web方法不应返回一个类Hibernate注释,记住,在其他语言中,Entity不会使用这些注释或其他业务逻辑创建.

编辑(基于您的评论):这取决于软件架构.例如,我正在开发一个SOA项目,我们使用DTO作为服务层和表示层.更深入的是,我们甚至使用DTO来处理服务内的数据库通信,我们只使用SP与DB通信,所以没有Hibernate或任何其他ORM工具可以在那里工作,我们可以使用Spring DAO,该框架也使用DTO.您现在可以在许多应用中找到很多DTO模式.

更多的信息,这将是伟大的这个问题:

> Difference between DTO,VO,POJO,JavaBeans?(基本上,任何DTO都是POJO).
> Core J2EE Patterns – Transfer Object

编辑2:解释了Martin Fowler解释使用DTO设计的主要原因的另一个信息来源

> LocalDTO

结论:DTO不是一种反模式.只有当您需要将数据从一个子系统传递到另一个子系统时,才能使用DTO,并且它们没有默认或标准的通信方式.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读