当我们在Grails甚至在Spring中谈到命令对象时,它们是否与数据传输对象相同?意思是,命令对象是否是DTO企业设计模式的实现示例?如果没有,有什么区别?
最佳答案
数据传输对象(DTO)是一个对象(简单的Java bean),可在任意两个层或进程之间承载数据。通常,您可能会引入/使用DTO层,并使用从外部Web服务或外部系统接收到的数据填充DTO bean。有关更多详细信息,请引用Martin Fowler's blog on Data Transfer Object
命令对象只是 spring(mvc)术语,它将html表单数据映射到Java Bean(form Bean)。在这里,Spring Dispatcher Servlet和帮助器类将数据从html表单映射到java bean。在Grails中,命令对象比AST转换等数据载体提供的服务更多。
总之,它们都是从一层到另一层的数据载体。
Spring中的命令对象是否是DTO企业设计模式的实现示例?
Yes, but the point to note is that the Spring Dispatcher servlet & helper classes populate the command object with html form data.
关于spring - 命令对象和DTO,有区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40307821/