2012-08-16 58 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

相關問題