Springboot 建模产品和产品选项

问题描述 投票:0回答:1

我想知道对产品和选项进行建模的最佳方法是什么。

目前我有下表 产品 产品变化 选项类型 选项。

目标是用户可以创建不同的选项类型,例如尺寸、颜色等。然后用户可以创建具有多种变体的产品,该变体是不同选项的组合。我现在所做的方式是产品与变体具有一对多的关系。 产品与 OptionType 具有多对多关系 变体与选项具有多对多的关系。

这样前端就可以知道产品可以选择哪些可能的选项。即,如果您有一件衬衫,前端知道可以为变体选择的可能选项。我觉得这样效率低下,想知道是否有更好的建模方法?目标是能够为产品创建动态数量的选项,并让用户根据需要创建选项类型

java database postgresql spring-boot
1个回答
0
投票

看起来你在那里有三个实体。选项、变化和产品。

我们有多种方法可以解决这个问题。基本上,我们可以将变异视为纯粹的衍生实体。 IE。在Product和Option之间建立多对多关系,在Variation和Option之间建立多对多关系。为了了解产品 A 是否为变体 V,我们需要检查 Variant.options 是否在 Product.options 中。

另一种(在某种程度上,不太复杂,但不一定是最好的)选择是通过变体在产品和选项之间建立间接关系。 IE。假设产品是一个抽象概念,只有变体才是客户真正可以购买的东西。然后我们在 Product 和 Variant 之间建立一对多关系,在 Variant 和 Option 之间建立多对多关系。

我可以想到其他更复杂的实现选项,但它们似乎不值得讨论。我认为选择特定的实现需要更多的领域上下文,例如使用产品、变体和选项的其他用例有哪些?产品最重要的案例是什么(最常用、推动转化最多等)

© www.soinside.com 2019 - 2024. All rights reserved.