实施与第三方系统的集成,该系统从网站导出产品和导入订单。
在设计中已经完成了一些ddd工作,并且我想继续它。
订单和产品上的每一个属性是否都应包含值对象?
这意味着大约100个课程可以涵盖所有可能属性过多的类别:
答案 0 :(得分:1)
订单和产品上的每一个属性是否都应包含值对象?
他们已经是。真正的问题是你是否要隐瞒这种内容,或者将其明确化。
这意味着大约100个课程可以涵盖所有可能属性过多的类别:
哦,它有可能变得更加纠结。例如,ProductPrice
包含Money
的概念(与ComputedTax
和RoundedTax
有共同点),其中包含Amount
和{{{ 1}}表示单位。)
您可能需要认真考虑选择一种语言,在这种语言中,创建数百种不同的价值观并不会过分。
另见:
答案 1 :(得分:1)
订单和产品上的每一个财产都应该被覆盖 一个价值对象?
在我所知的任何语言中,原始值已经是一个值对象:不可变且没有标识(即字符串,数字等)。
如果您指的是"我是否应该创建一个新类来包含该数据+行为"然后我说YAGNI。如果你找不到合理的理由(你需要强大的打字,你可以隐式明确等),那么现在就不要这样做。等到你需要它。