Class 我需要拆分一个大的DTO吗?

Class 我需要拆分一个大的DTO吗?,class,inheritance,dto,ooad,Class,Inheritance,Dto,Ooad,我有一个有30个属性的DTO,一些属性会被添加到其中。 许多其他类使用此DTO,一些类使用10到20个属性,另一些类使用所有30个属性 在一个类中,我可以创建一个DTO,它使用10个属性,其余20个属性将为null吗 在这种情况下,通过继承或其他方式将DTO拆分为2-3个DTO是一种好方法吗 1分贝表结构也可以是有利的,有一个自然的不情愿去考虑一个具有30个属性的DTO,但这并不是一个错误的选择。想象一个有很多标签的照片文件:相机类型、镜头类型、光圈、模式、大小等等。有几十个标签,把它们都放在一

我有一个有30个属性的DTO,一些属性会被添加到其中。 许多其他类使用此DTO,一些类使用10到20个属性,另一些类使用所有30个属性

在一个类中,我可以创建一个DTO,它使用10个属性,其余20个属性将为null吗


在这种情况下,通过继承或其他方式将DTO拆分为2-3个DTO是一种好方法吗 只有在有很好的实际设计理由的情况下才拆分DTO。规模不够,拆分可能会带来不同的困难


<>编辑:考虑下游使用也有帮助,例如,如果DTO的属性全部被保存在一个单独的DB表中,那么在概念上和实际应用中保留1个DTO -> 1分贝表结构也可以是有利的,有一个自然的不情愿去考虑一个具有30个属性的DTO,但这并不是一个错误的选择。想象一个有很多标签的照片文件:相机类型、镜头类型、光圈、模式、大小等等。有几十个标签,把它们都放在一个PhotoTo中是完全可以的

只有在有很好的实际设计理由的情况下才拆分DTO。规模不够,拆分可能会带来不同的困难


<>编辑:考虑下游使用也会有帮助,例如如果DTO的属性全部被保存在一个单独的DB表中,那么它可以额外地保留1个DTO -> 1分贝表结构,无论是在概念上还是在实际应用中,ORM配置等等。在一个类中,我是否可以创建一个使用10个属性的DTO,以使其余20个属性为空?绝对可以。只要属性在概念上属于一个类,就可以了。这样做当然不会有任何技术障碍。但是,尽管我向您保证这样做是可以的,但请仔细听我的警告,例如,不要在一个表单中处理所有网站的表单DatadTo或其他:-考虑注册/更新用户配置文件的情况。在my DB中,3个表包含用户的详细信息,如登录、配置文件和地址。当一个新用户注册时,我需要在这3个表中插入数据。我可以为此表创建一个DTO还是为每个表创建3个DTO?如果需要,我只需要更新地址或个人资料。这需要多少DTO?通常,堆栈溢出鼓励一次提出一个问题,而不是在注释中提出新问题。在这种情况下,我倾向于将我的DTO与DB对齐:一个用户对象,它可能由3个子类型组成,Profile、SignOn和address,但请注意这不是对与错,而是一种风格和判断选择。通常,在编码过程中,您只能通过尝试其他方法来了解最有效的方法。尝试找出最好的方法对你来说很好,但是花点时间尝试一下你自己的想法,看看为什么你认为它们是好的还是坏的谢谢你的快速回复。在一个类中,我是否可以创建一个使用10个属性的DTO,以使其余20个属性为空?绝对可以。只要属性在概念上属于一个类,就可以了。这样做当然不会有任何技术障碍。但是,尽管我向您保证这样做是可以的,但请仔细听我的警告,例如,不要在一个表单中处理所有网站的表单DatadTo或其他:-考虑注册/更新用户配置文件的情况。在my DB中,3个表包含用户的详细信息,如登录、配置文件和地址。当一个新用户注册时,我需要在这3个表中插入数据。我可以为此表创建一个DTO还是为每个表创建3个DTO?如果需要,我只需要更新地址或个人资料。这需要多少DTO?通常,堆栈溢出鼓励一次提出一个问题,而不是在注释中提出新问题。在这种情况下,我倾向于将我的DTO与DB对齐:一个用户对象,它可能由3个子类型组成,Profile、SignOn和address,但请注意这不是对与错,而是一种风格和判断选择。通常,在编码过程中,您只能通过尝试其他方法来了解最有效的方法。尝试找出最好的方法对你来说很好,但是花点时间尝试一下你自己的想法,看看为什么你认为它们是好的还是坏的。顺便说一句,我看到你对Stack Overflow还不熟悉,并且已经问了一些问题。欢迎来到这个网站。如果你觉得一个答案完全且令人满意地涵盖了你的问题,那么接受它和/或向上投票是一种习惯,以奖励那些提供了有用答案的人。顺便说一句,我看到你对Stack Overflow还不熟悉,并且已经问了一些问题。欢迎来到si 特朗普。如果你觉得一个答案完全且令人满意地涵盖了你的问题,那么习惯上会接受和/或投票,以奖励那些提供了有用答案的人。