我有两个域实体:Employee
和Team
. 你可以猜到 Team 有 0...*Employee
秒。建模它们的正确性是什么?
选项1:
class Team{
List<Employee> members;
}
这可能是最直观的方式,但这意味着当我只需要显示团队信息时,我必须加载很多Employee
s,这完全是浪费。也许我可以添加一些延迟加载(可能会抛出代理)机制,但这会给我们带来很多复杂性
选项2:
class Team{
List<Long> memberIds;
}
此选项不会加载太多不必要Employee
的 s 但可能(我不确定)从建模的角度来看不是一个好的设计
选项 3:
class Team{}
class Employee{
Team team;
}
在这个选项中,我可以通过 a的属性查询 aTeam
的s。但我认为也许(我不确定)从建模的角度来看,a不应该知道它是如何组织的,并且也是一个可以在没有 a 的情况下生存的实体Employee
Employee
Employee
Employee
Team
你们觉得怎么样?