什么是数据传输对象?
在MVC中是模型类DTO,如果不是,有什么区别,我们需要两者吗?
发布于 2009-06-29 13:09:42
数据传输对象是用于封装数据并将其从应用程序的一个子系统发送到另一个子系统的对象。
DTO最常被N层应用程序中的服务层用来在其自身和UI层之间传输数据。这里的主要好处是,它减少了在分布式应用程序中需要通过网络发送的数据量。它们还可以在MVC模式中创建很好的模型。
DTO的另一个用途是封装方法调用的参数。如果一个方法需要四个或五个以上的参数,这会很有用。
在使用DTO模式时,您还可以使用DTO汇编程序。汇编程序用于从域对象创建DTO,反之亦然。
从域对象到DTO再转换回来可能是一个代价高昂的过程。如果您不是在创建分布式应用程序,那么您可能不会像Martin Fowler explains here那样从模式中看到任何巨大的好处。
发布于 2009-06-26 20:43:28
DTO的定义可以在Martin Fowler's site上找到。DTO用于将参数传递给方法和作为返回类型。许多人在UI中使用它们,但也有人从它们中膨胀领域对象。
发布于 2009-06-26 20:44:46
DTO是一个哑巴对象-它只包含属性,有getter和setter,但没有其他有意义的逻辑(可能除了compare()
或equals()
实现)。
通常,MVC中的模型类(这里假设是.net MVC )是DTO,或者DTO的集合/聚合
https://stackoverflow.com/questions/1051182
复制相似问题