根据具体情况,我经常需要针对同一资源使用多个 DTO。
以相册为例。根据我想要显示的内容,我需要将不同的数据放入我的 DTO(通过表单、列表、详细信息等创建)。
我将有一个albumFormDTO 来创建专辑,一个albumDTO 集合用于专辑列表,还有一个albumDetailDTO 用于详细专辑。
对于每一个,我都需要一个特定的汇编程序。这样做似乎真的很沉重。
看起来很愚蠢吗?
谢谢,Cya 本杰明。
根据具体情况,我经常需要针对同一资源使用多个 DTO。
以相册为例。根据我想要显示的内容,我需要将不同的数据放入我的 DTO(通过表单、列表、详细信息等创建)。
我将有一个albumFormDTO 来创建专辑,一个albumDTO 集合用于专辑列表,还有一个albumDetailDTO 用于详细专辑。
对于每一个,我都需要一个特定的汇编程序。这样做似乎真的很沉重。
看起来很愚蠢吗?
谢谢,Cya 本杰明。
不,听起来并不愚蠢。
您建议的替代方法是创建一个用于多种目的的“super-dto”。并且每个目的只使用一些字段。
随着 dto 变大并且不清楚哪些字段对于哪些目的是必需的,这很快变得丑陋且无法维护。很难重构,也很难理解。
为了减轻为每个 DTO 创建汇编程序的痛苦,您可以使用对象映射库(例如ModelMapper)自动为您完成大部分或全部工作。