命令对象和DTO,区别?

时间:2016-10-28 14:57:44

标签: spring spring-mvc grails

当我们谈到Grails甚至Spring中的命令对象时,它们是否与数据传输对象相同?意思是,命令对象是DTO企业设计模式实现的一个例子吗?如果没有,有什么区别?

1 个答案:

答案 0 :(得分:3)

数据传输对象(DTO)是一个对象(简单的java bean),它在任意两个层或进程之间传输数据。您通常可以介绍/使用DTO层&使用从外部Web服务或外部系统接收的数据填充DTO bean。有关详细信息,请参阅Martin Fowler's blog on Data Transfer Object

命令对象只是一个 spring(mvc)术语,它将html表单数据映射到java bean(表单bean)。这里是Spring Dispatcher servlet&辅助类将数据从html表单映射到java bean。在Grails中,命令对象的服务不仅仅是AST转换等数据载体。

总之,它们都是从一层到另一层的数据载体。

Spring中的命令对象是DTO企业设计模式实现的一个例子吗?

  

是的,但要注意的是Spring Dispatcher servlet&   辅助类用html表单数据填充命令对象。