gpt4 book ai didi

class-design - 设计类以表示数据库表的最佳实践

转载 作者:行者123 更新时间:2023-12-02 04:02:25 25 4
gpt4 key购买 nike

这可能是一个愚蠢的问题,但我一直想知道这样做的最佳方法是什么。

假设我们有一个包含两个表的数据库:UsersOrders(一个用户可以有多个订单),并且在任何OOP语言中,您都有两个类来表示这些表UserOrder。在数据库中,很明显“订单”将具有“用户” ID,因为它是一对多的关系(因为一个用户可以有多个订单)并且该用户将没有任何订单ID。但是在代码中,以下三个最佳实践是什么?

a)用户是否应该有一系列的订单?
b)订单应该有用户名吗?
c)订单是否应引用用户对象?

还是有更有效的方法来解决这个问题?我一直以不同的方式来做,它们都有优点和缺点,但是我从未问过专家的意见。

提前致谢!

最佳答案

在这种情况下,如果您要对用户执行还涉及其拥有的订单的操作,则该用户可能具有一系列订单。

每当我设计类时,相关的对象都包含彼此的指针,因此我可以从用户访问订单,从用户访问订单。

我不认为有最佳实践,因为这实际上取决于您要实现的目标。对于用户和订单,我可以看到您从订单开始,需要访问用户,反之亦然;因此,在您的情况下,听起来您应该同时映射对象。

一句话警告,请注意不要创建循环引用。如果删除两个对象而不删除引用,则可能会导致内存泄漏。

关于class-design - 设计类以表示数据库表的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9652801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com