2012-08-16 69 views
1

我有一个名为Role关联类,像这样:如何实现具有双向多对多关系的关联类?

enter image description here

我还没有真正与关联类工作过,所以我要问:这是正确使用呢? 这个想法是,每个人在每个组中都有特定的角色,而每个组也都知道他们与之相关联的人。

即使我理解了原理,但我不知道如何实际实现它。

+0

为什么你不问一个具体的问题而不是一个开放式的问题。 – 2012-08-16 13:24:57

+1

是不是StackOverflow提出的问题是明确的,并且通用性足以在未来对其他人有用?如果你同意这一点,那么我不明白你的意思。这个问题究竟应该更具体些? – 2012-08-16 13:32:42

+0

这个问题是在软件体系结构的领域。答案是主观的。我建议删除“哪一个是最好的”。后者是pro和con的比较。这非常适合Programmers SE。投票结束,因为迁移到PSE似乎已被删除。 – 2012-08-16 13:35:10

回答

1

我认为,直观的实现是有关联类(我将其命名为GroupMembership为清楚起见)含有

  • 到某个人
  • 到组
  • 基准的基准描述组成员资格性质的其他数据成员(例如您的isAdmin或对另一个描述成员资格性质的对象的引用)

Person类包含对对象的引用列表,描述该对象属于哪个组。

Group类还包含对GroupMembership对象的引用列表,为您提供有关该组成员的信息。

+0

非常感谢您的回复,这就是我一直在寻找的。如果你想关联一个Person和一个Group,你是否只在关联方法中包含了相反的信息,比如用户有一个方法:public void AddGroup(GroupMembership gm,Group g)和然后在该方法中双向处理关联,还是可以在不包含“GroupMembership”或“Group”的情况下执行此操作?或者这是主观问题出现在哪里? – 2012-08-17 11:48:29

+0

我认为这取决于个人喜好和程序的其余部分,无论您是希望逻辑如何在Person,Group或外部创建这样的关联(例如GroupMembership类中的静态方法)。 – Timbo 2012-08-17 12:03:28

相关问题