不被弃用。是否应使用DTO模式取决于应用程序体系结构。例如,当开发Web服务(使用JAX-WS或JAX-
RS)时,应通过Web方法发送DTO,以便C#或Python客户端应用程序可以使用它,并且Web方法不应返回具有以下类的对象:休眠注释,请记住,将不会使用其他注释或其他业务逻辑在内部创建实体。
编辑(根据您的评论):这取决于软件体系结构。例如,我正在一个SOA项目中,我们将DTO用于服务层和表示层。在更深入的内部,我们甚至使用DTO处理服务内部的数据库通信,我们仅使用SP与DB进行通信,因此没有Hibernate或任何其他ORM工具可以在那里工作,我们可以使用Spring
DAO,而该框架也使用DTO。如今,您可以在许多应用程序中找到许多DTO模式。
有关此问题的更多信息:
- DTO,VO,POJO,JavaBeans之间的区别?(基本上,任何DTO都是POJO)。
- 核心J2EE模式-传输对象
编辑2:另一信息源将解释使用DTO设计的主要原因,由马丁·福勒(Martin
Fowler)解释
- 本地DTO
结论:DTO不是反模式。DTO仅在您需要将数据从一个子系统传递到另一个子系统并且它们没有默认或标准的通信方式时才使用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)