Architecture DTO:同一资源的多个DTO(和汇编程序)

Architecture DTO:同一资源的多个DTO(和汇编程序),architecture,dto,data-transfer-objects,Architecture,Dto,Data Transfer Objects,根据具体情况,我经常需要为同一个资源配置多个DTO 以相册为例。根据我想要显示的内容,我需要在DTO中输入不同的数据(通过表单、列表、详细信息等创建) 我将有一个albumFormDTO来创建一个相册,一个AlbumTo集合来创建一个相册列表,还有一个albumDetailDTO来创建一个详细的相册 对于每一个,我都需要一个特定的汇编程序。这样做似乎真的很沉重 这看起来愚蠢吗 谢谢, 西娅·本杰明。不,听起来并不愚蠢 您建议的替代方案是创建一个用于多种用途的“超级dto”。并且每个目的只使用一些

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

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

我将有一个albumFormDTO来创建一个相册,一个AlbumTo集合来创建一个相册列表,还有一个albumDetailDTO来创建一个详细的相册

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

这看起来愚蠢吗

谢谢,
西娅·本杰明。

不,听起来并不愚蠢

您建议的替代方案是创建一个用于多种用途的“超级dto”。并且每个目的只使用一些字段


这很快变得丑陋且无法维护,因为dto变得越来越大,并且不清楚哪些字段是用于哪个目的所必需的。重构很难,也很难理解。

为了减轻为每个DTO创建汇编程序的痛苦,您可以使用对象映射库,例如自动完成大部分或全部工作