|
3
|
| Vlad Gudim nuriaion · 技术社区 · 17 年前 |
|
|
1
4
知道打电话的人想要什么总是有帮助的。如果每次调用方都必须查找每个订单,那么返回订单id并不是一种优化。另一方面,如果大多数时候他们不需要所有这些信息,那么就没有任何回报。 大多数情况下,我会选择选项1。但如果是像智能手机这样内存受限的东西,我想我会选择延迟扩展。 |
|
|
2
2
对于刚接触ORM工具的人来说,最困难的事情之一是,他们试图应用他们对数据库的知识以及在该环境中使用的优化(存储ID等)。我建议您使用对象,并在出现性能问题时解决它们。 大多数ORM会为您处理此类问题;例如,Hibernate默认情况下会延迟加载一个集合(在您的例子中是订单)。在内部,它将为您存储一组ID值,但这并不是您的问题,因为您将只与对象和关联对象的集合进行交互。如果你专注于你的领域对象并且认为是“OO”,你的ORM工具应该支持你,并允许你在必要时进一步优化。 |
|
|
3
1
我建议使用选项一,因为 你处理的是业务对象,而不是数字 .如果您需要id,您仍然可以从订单中获取。如果使用smart或mapper,在访问真实数据之前,只会加载订单的主键,因此无需担心数据库或内存性能。 |
|
|
4
0
如果函数被调用,我必须同意Paul Tomblin的观点
|
|
|
5
0
选项2和选项3一样,都是过早的优化。你的客户想知道订单是什么;它甚至可能不在乎订单的ID是什么。在某些情况下,客户可能需要ID,但如果你看到这种情况发生,你可能应该问为什么?并找到一种直接对订单进行操作的方法。 |
|
|
6
0
我将呼应保罗·汤姆布林的说法,问题不是“做什么最好?”但“实现这一目标的最佳方式是什么?”在说出函数的返回值之前,必须确定调用者将如何处理这些信息。如果调用方想做的是,比如,为用户显示订单ID列表,然后返回订单ID。如果调用方希望显示订单日期、总成本和发货状态的列表,那么我将返回一组包含该数据的对象。等 |
|
|
user29759326 · 如何返回递归函数中的最后一个值? 1 年前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 1 年前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 1 年前 |
|
|
rudraraj · java中未声明最终变量 1 年前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 1 年前 |