我有一个包含30个属性的DTO,会添加一些属性。 许多其他类使用此DTO,一些类使用10到20个属性,而另一些类使用所有30个属性。
在一个课程中,我可以创建一个使用10个属性的DTO,其余20个属性是否为空?
在这种情况下,通过继承或其他方式将DTO拆分为2-3个DTO是一种好方法吗?
答案 0 :(得分:1)
自然不愿意考虑具有30个属性的单个DTO,但它绝不是错误的"选择只是出于这个原因。想象一下有很多"标签的照片文件":相机类型,镜头类型,光圈,模式,大小等等。有很多这样的照片,完全可以将它们全部放入一个PhotoDto。
如果出于良好的实际设计原因,只能拆分您的DTO。规模不够,分裂会带来不同的困难。
编辑:考虑下游使用情况也很有帮助,例如:如果DTO的属性都要保存在单个DB表中,那么保留1 DTO - >是另外有利的。 1 DB表结构,概念上和实际上(ORM配置等)。