我有一個名爲Role
關聯類,像這樣:如何實現具有雙向多對多關係的關聯類?
我還沒有真正與關聯類工作過,所以我要問:這是正確使用呢? 這個想法是,每個人在每個組中都有特定的角色,而每個組也都知道他們與之相關聯的人。
即使我理解了原理,但我不知道如何實際實現它。
我有一個名爲Role
關聯類,像這樣:如何實現具有雙向多對多關係的關聯類?
我還沒有真正與關聯類工作過,所以我要問:這是正確使用呢? 這個想法是,每個人在每個組中都有特定的角色,而每個組也都知道他們與之相關聯的人。
即使我理解了原理,但我不知道如何實際實現它。
我認爲,直觀的實現是有關聯類(我將其命名爲GroupMembership
爲清楚起見)含有
isAdmin
或對另一個描述成員資格性質的對象的引用)Person
類包含對對象的引用列表,描述該對象屬於哪個組。
Group
類還包含對GroupMembership
對象的引用列表,爲您提供有關該組成員的信息。
非常感謝您的回覆,這就是我一直在尋找的。如果你想關聯一個Person和一個Group,你是否只在關聯方法中包含了相反的信息,比如用戶有一個方法:public void AddGroup(GroupMembership gm,Group g)和然後在該方法中雙向處理關聯,還是可以在不包含「GroupMembership」或「Group」的情況下執行此操作?或者這是主觀問題出現在哪裏? – 2012-08-17 11:48:29
我認爲這取決於個人喜好和程序的其餘部分,無論您是希望邏輯如何在Person,Group或外部創建這樣的關聯(例如GroupMembership類中的靜態方法)。 – Timbo 2012-08-17 12:03:28
爲什麼你不問一個具體的問題而不是一個開放式的問題。 – 2012-08-16 13:24:57
是不是StackOverflow提出的問題是明確的,並且通用性足以在未來對其他人有用?如果你同意這一點,那麼我不明白你的意思。這個問題究竟應該更具體些? – 2012-08-16 13:32:42
這個問題是在軟件體系結構的領域。答案是主觀的。我建議刪除「哪一個是最好的」。後者是pro和con的比較。這非常適合Programmers SE。投票結束,因爲遷移到PSE似乎已被刪除。 – 2012-08-16 13:35:10