Thi*_*ara 11 java design-patterns application-design java-ee
在一个完整的Java EE应用程序中,群集是DTO模式仍然是一个有效的选项?有问题的应用程序使用EJB Hibernate和Struts with Spring等.在这种情况下传输域对象有什么问题吗?
编辑:只是为了澄清我的问题,现代资源和Java EE的改进有没有理由不使用域对象?如果没有,那么DTO模式是否会逐渐消失,不应该在新的应用程序中使用?
Lui*_*oza 22
不推荐使用.如果应该使用DTO模式,它取决于应用程序架构.例如,当您开发Web服务(使用JAX-WS或JAX-RS)时,您应该通过Web方法发送DTO,以便C#或Python客户端应用程序可以使用它,并且您的Web方法不应返回类具有的对象Hibernate注释,请记住,与其他语言相比,不会使用这些注释或其他业务逻辑创建实体.
编辑(根据您的评论):这取决于软件架构.例如,我正在开发一个SOA项目,我们将DTO用于服务层和表示层.更深入的内部,我们甚至使用DTO来处理服务内部的数据库通信,我们只使用SP与DB进行通信,因此没有Hibernate或任何其他ORM工具可以在那里工作,我们可以使用Spring DAO,该框架也使用DTO.如今,您可以在许多应用程序中找到许多DTO模式.
更多关于这个问题的信息:
编辑2:另一个信息来源将解释使用DTO设计的主要原因,Martin Fowler解释道
结论:DTO不是反模式.DTO仅在您需要将数据从一个子系统传递到另一个子系统时才使用,并且它们没有默认或标准的通信方式.
| 归档时间: |
|
| 查看次数: |
12771 次 |
| 最近记录: |