2011-09-23 62 views
0

我在我的網站中有兩個「類型」帳戶,功能非常不同,並且它們之間有幾個不同的字段。但是,這兩種類型共享「基本帳戶」字段的相同表格。多用戶類型 - 繼承或組成?

在這種情況下,如果使用繼承設計,其中用戶和公司僅僅是帳戶的子帳戶,還是使用組合設計更好?其中帳戶可以具有「用戶」或「公司「(每個都有自己的功能)對象呢?

注意:Account表包含將所有類型連接在一起的主ID,因此是我實際派生每個用戶或公司的方式。

ALSO

我得到,這是一個相當主觀的問題,但我知道,有共同的做法在那裏。這是有道理的,應該有什麼時候做一個正確的做法和做另一個正確的想法 - 因此是正確的和錯誤的答案。

+1

..或「用戶」在其中有一個帳戶對象。這一切都取決於使用模式 –

+0

這個問題沒有*正確的*答案。 –

+0

那麼,這是說,組合方法可能是最好的方法,因爲它允許靈活性? AKA - 我可以加載用戶對象,然後是帳戶對象,反之亦然?然而,對於繼承模型(我認爲),我不得不加載用戶對象並將其從Account中擴展出來? – johnnietheblack

回答

2

如果「用戶」和「公司」有種「帳戶」(如UserAccount和CompanyAccount),則使用繼承。

另一方面,如果用戶和公司是恰好擁有賬戶的不同實體,則使用組合。

+0

用戶和公司都使用相同的帳戶信息登錄。帳戶或多或少是一種認證方式,而用戶和公司是我們擴展到該帳戶的「特權」。 – johnnietheblack

+0

你的意思是像IndividualAccount vs. CorporateAccount?它總是一個人登錄,是的? –

+0

是的......一個人登錄,但在一個案例中,他們代表他們自己,而在另一個案例中,他們代表一家公司。我們網站上的「用戶」只能閱讀「公司」發佈的內容。根據您擁有哪種類型的帳戶,您在網站上的體驗會發生巨大變化。 – johnnietheblack