我需要拆分大型DTO吗?

时间:2014-05-28 09:16:03

标签: class inheritance dto ooad

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

在一个课程中,我可以创建一个使用10个属性的DTO,其余20个属性是否为空?

在这种情况下,通过继承或其他方式将DTO拆分为2-3个DTO是一种好方法吗?

1 个答案:

答案 0 :(得分:1)

自然不愿意考虑具有30个属性的单个DTO,但它绝不是错误的"选择只是出于这个原因。想象一下有很多"标签的照片文件":相机类型,镜头类型,光圈,模式,大小等等。有很多这样的照片,完全可以将它们全部放入一个PhotoDto。

如果出于良好的实际设计原因,只能拆分您的DTO。规模不够,分裂会带来不同的困难。

编辑:考虑下游使用情况也很有帮助,例如:如果DTO的属性都要保存在单个DB表中,那么保留1 DTO - >是另外有利的。 1 DB表结构,概念上和实际上(ORM配置等)。