2009-01-29 31 views
1

雖然充實了假設的域模型,但我發現自己想知道在關聯域對象中更好的方法是讓父域對象包含一個指針(子標識符),還是使用子對象在父對象中構建組合的更好方法。域模型 - 標識符關係與分層對象

我可以看到每種方法的優缺點,主要是大小與複雜度之間的折衷,正是它歸結爲什麼。我傾向於更傾向於標識符關係方法,因爲我並不期望需要進行任何類型的延遲加載。

雖然沒有直接關係,但域對象是簡單的POCO(.NET相當於POJO)。它們被明確標記爲可序列化,因爲它們最終有可能在應用程序域之間交叉。 LINQ使關係標識符方法可行,在我看來,如果LINQ不可用,我完全不會考慮它。

任何想法,將不勝感激!

編輯:一些更多的想法可能讓我傾向於僅用於標識符的方法。首先是對象的緩存策略。根據其策略的定義,父對象和子對象完全有可能具有不同的TTL。第二種情況是引用保留可能會限制對象的重用,因爲同一個孩子可能由多個父母持有 - 在可重用數據的情況下。這兩個也都與序列化對象的整體大小有關。

回答

1

我在我的POCO上都使用這兩種。我使用父類上的子項列表和子類上的一個父實例來生成它們。

+0

我的一位開發人員也有同樣的想法。我用更多的信息修改了我的問題。你如何處理緩存和併發問題並引用你所持有的? – 2009-01-29 20:34:56