我需要帮助来定义模型之间的关系。
我有2个型号:
用户拥有许多产品,产品仅由一个用户拥有。
我的用例: 登录的用户可以访问其个人帐户中的某些信息: - 显示他的所有产品 - 添加新产品
稍后我想添加一个用例:任何用户都可以在某个屏幕上看到任何产品(并了解产品的所有者)。
所以,我可以定义这样的模型:
A)ONE TO MANY
class User{
private Set<Product> products;
..
}
class Product{
...
}
B)很多人
class User{
..
}
class Product{
private User owner;
}
哪个最好?一对多或多对一?
因为我的用例显示已登录用户的产品我认为最好选择一对多
答案 0 :(得分:0)
最可能的选择是One To Many,因为用户拥有产品。他有产品(所以列出了它们)。在第二个选项中,您会说:产品拥有用户。
至于要求:
最后一项要求非常棘手:“任何用户都可以在某个屏幕上看到任何产品(并了解产品的所有者)”。现在,如果这是主要功能,第二种设计会更好,因为从产品中找到所有者会更容易。虽然用例描述似乎主要集中在One to Many设计上。