2011-12-13 49 views
0

我一直在做一些近期的OO設計。我也使用EF 4.1作爲ORM。現在,當我設計我的課程和他們的聯繫時,我可以考慮兩種方法。例如,一位老師教授一門課。因此,Teacher類可以將主題對象的引用作爲屬性(基於引用的方法),也可以將SubjectId作爲屬性(基於ID的方法)。我不確定應該採取哪種方法,爲什麼?我相信基於ID的方法更多的是關係數據方法,而基於參考的方法是真正的面向對象方法。但我不確定。OO設計方法 - 基於引用的方法或基於ID的方法

回答

0

如果您正在使用JPA,請選擇基於引用的方式並使用延遲獲取。

+0

謝謝。但你能幫我解釋一下嗎?那麼爲什麼不是基於ID的方法? –

+0

Id的用途是什麼?一般來說,你的老師教授的科目(作爲對象)不是身份證。它更好地代表了面向對象的問題。即使您持有主題ID,您仍需手動進行額外處理(獲取此ID,使用ID拉取條目等)。在懶惰讀取的對象情況下,所有這些都是手動執行的。一個問題可能出現在序列化和使用遠程延遲抓取。 – mishadoff