【发布时间】:2025-12-11 12:10:01
【问题描述】:
这似乎是一个非常简单的设计问题,但我很好奇你的意见。
我有一个 DAO 层,一个方法返回某事物的最大值和最小值。所以它返回两个整数值,但使用 int[] 和两个元素 int[0]=min_val 和 int[1]=max_val 作为返回类型对于方法调用者来说不是很清楚,因为他必须确切地知道哪个元素是第一个,哪个是第二个。
我应该在这里使用某种像这样的 DTO...
class RangeValuesDTO {
private int min_val;
private int max_val;
}
?
在这种简单的情况下,正确的模式是什么?
【问题讨论】:
-
我不会称之为 DTO。 DTO 的一个定义特征是它是一个用于传输通常驻留在另一个对象中的数据的对象——例如文件的打印输出。这里的对象不这样做;它只是一个完全正常的值对象(使用它似乎是个好主意!)。
-
我应该为 vo 对象创建额外的包...我的意思是... mypackages_structure.vo 还是应该在 dto 包中使用它们或...?我很好奇与 vos 合作时的良好做法
-
我建议按领域而不是技术标准打包类。因此,请将
Range类与生成它的 DAO 以及该 DAO 使用的实体类放在同一个包中。 -
嗯,也许吧。但是,当您为 vos 提供单独的包时,就像您通常为模型(实体)提供的那样,它是否更具可读性。然后您可以快速查看可用的 vo 类(如果某些新开发人员想要重用它们)。当然,你可以在任何地方上课。但是对我来说,当您为某种类(例如侦听器、异常、模型类、daos 等)设置单独的位置时,它是否更具可读性...
-
我认为这是一个品味问题。我自己发现这种组织基本上没用。我宁愿一起看到功能相关的类。做任何你认为最好的事情!
标签: java design-patterns dao dto