在我们的电子商务应用程序中,我们有不同种类的产品,它们具有不同的属性,例如,鞋子与可食用蛋糕具有不同的销售特征。我们的电子商务网站允许您“构建”您自己的产品,选择各种属性和值(例如杯子蛋糕上的粉红色糖霜,这会增加 0.25 美元的成本)。
我们的第一个构造看起来像这样。这是一个需要维持的噩梦。 我正在寻找有关如何以更规范和现实的方式组装这些表(或对象)的建议。
我们有一个非常标准的产品表,其中包含比这更多的字段,但您明白了:
public class Product {
public int id {get;set;}
public string name {get;set;}
public decimal price {get;set;}
}
我们有一个选项表,其中列出了可以为给定选项组选择的所有选项(考虑一个下拉列表):
public class Options {
public int oId {get;set;}
public string oName {get;set;}
public decimal oPrice {get;set;} // Added to base price if selected
}
然后我们有一个多对多表将这两者联系在一起,其中记录的存在将选项与该产品联系起来:
public class ProductOptions {
public int id {get;set;}
public string oId {get;set;}
}
我们正在尝试为相似的产品分配相似的选项,例如所有蛋糕通常具有相同的口味,所有糖霜通常具有相同的颜色等,因此当我们更改选项时,它会针对所有相关产品而更改。
任何建议都将不胜感激,尤其是在 DDD 方面。