当我们谈到Grails甚至Spring中的命令对象时,它们是否与数据传输对象相同?意思是,命令对象是DTO企业设计模式实现的一个例子吗?如果没有,有什么区别?
答案 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表单数据填充命令对象。