设计具有两个依赖于用户的属性的Product实体

时间:2012-04-13 13:08:05

标签: database-design

我的域中有一个Product实体,有两个属性IsFavorite和IsHidden。

每个用户都可以选择一些产品来收藏,隐藏或者不是之前的产品。

我必须向用户提供一个产品清单,其中不包含任何“标记为隐藏”的产品,并且每个喜欢的产品附近都有“明星”。

在我的脑海中出现了一张带有两个表“Product”和“Product_User”

的图片

“Product_User”架构可以是: 产品编号, 用户身份, IsFavorite, 是否隐藏,

这是对的吗?

在查询期间,我必须查询产品表,不包括隐藏产品(因此我必须先查询Product_User表),然后标记每个喜欢的产品。

1 个答案:

答案 0 :(得分:0)

当你做DDD时,没有架构或表这样的东西,因为没有数据库。只有域模型可以为特定的有界上下文建模问题。

我认为你的问题显然是关于db模式的,因为在域级别,你可以拥有BoughtProduct对象的ProductImpression(不是最好的名字)属性,它是BoughtProductsCollection对象的一部分。当然这些是基于疯狂猜测的建议,因为我不了解有关域的许多细节。

作为一种模式,我会说一些与你想的相似的东西。包含列的表:Id,ProductId,UserId,ProductImpression。

此架构的好处是,您可以在以后添加更多状态,而无需更改架构。