2012-04-13 99 views
0

我在我的域中有一個Product實體,並且有兩個屬性IsFavorite和IsHidden。設計一個具有兩個用戶相關屬性的產品實體

每個用戶可以選擇一些產品被收藏,隱藏或以前沒有人收藏。

我必須給用戶一個產品列表,其中包含沒有「標記隱藏」的產品,並在每個喜愛的產品附近都帶有「明星」。

在我的腦海裏拿出兩張表 「產品」 和 「Product_User」

「Product_User」 模式可以是圖片: 產品編號, 用戶ID, IsFavorite, 是否隱藏,

是它正確?

在查詢期間,我必須查詢除隱藏產品之外的產品表(因此我必須先查詢Product_User表),然後標記每個最喜歡的產品。

+1

是的。關鍵是要認識到'IsFavourite'和'IsHidden'不是產品的屬性 - 它們是產品和用戶之間關係的屬性。這就是Product_User所代表的。 – sfinnie 2012-04-13 22:20:28

+0

我已用適當的標籤重新標記了您的問題。 – MikeSW 2012-04-14 13:36:55

回答

0

當你做DDD時,沒有像schema或tables這樣的東西,因爲沒有數據庫。只有爲特定有界上下文建模問題的領域模型。

我認爲你的問題顯然是關於數據庫模式的,因爲在域級別,你可以擁有BoughtProduct對象的BoughtProductsCollection對象的一部分的ProductImpression(不是最好的名稱)屬性。當然,這些建議是基於狂野的猜測,因爲我不知道關於域名的許多細節。

作爲一個模式,我會說一些類似於你想的東西。包含列的表:Id,ProductId,UserId,ProductImpression。

此架構的優點是您可以在未來添加更多狀態,而無需更改架構。

+0

好的,我必須開始思考與我所做的不同,直到現在還有貧血的領域 – 2012-04-14 19:30:34

相關問題