java – DTO模式是否被弃用?

前端之家收集整理的这篇文章主要介绍了java – DTO模式是否被弃用?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在完整的 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,并且它们没有默认或标准的通信方式.

猜你在找的Java相关文章