DTO:相同资源的几个DTO(和汇编程序)

时间:2010-01-23 11:32:39

标签: architecture dto data-transfer-objects

根据具体情况,我经常需要为同一资源提供多个DTO。

以相册为例。根据我想要显示的内容,我需要在我的DTO中创建不同的数据(通过表单,列表,详细信息等创建)。

我将有一张albumFormDTO来创建一张专辑,一张专辑DVD收藏册用于专辑列表,还有一张专辑详情专辑,用于详细专辑。

对于每一个,我需要一个特定的汇编程序。这样做似乎很重要。

这看起来很愚蠢吗?

谢谢, Cya Benjamin。

2 个答案:

答案 0 :(得分:1)

不,听起来不傻。

您建议的替代方法是创建一个用于多种用途的“super-dto”。并且只有一些字段用于各种目的。

这很快变得丑陋和不可维护,因为dto变大,并且不清楚哪个字段对于哪个目的是必要的。它很难重构,也很难理解。

答案 1 :(得分:0)

为了解决为每个DTO创建汇编程序的痛苦,您可以使用对象映射库(例如ModelMapper)自动为您完成大部分或全部操作。

http://modelmapper.org