域驱动设计模型设置

时间:2019-03-03 19:41:07

标签: c# domain-driven-design entities aggregateroot

过去的几周中,我一直在学习有关“干净的体系结构”和“域驱动设计”的知识,现在我想将其用于个人项目以进行尝试。但是我在建模领域空间时遇到了一些关键概念的麻烦!我花了一些时间思考这个问题,并在网上寻找示例,但觉得我可能会以错误的方式思考。下面描述了我要建模的情况...

我的应用程序的目的是构建一组名为“ components”的xml文件。构建的所有“组件”形成一个整体的“构建”。每个组件都包含大量的属性,例如参数,摘要等。

到目前为止,我已经决定“组件”的属性将是“值对象”,而“组件”本身将是一个实体(因为它在应用程序中具有生命周期)。我还认为,“构建”作为一个整体应该是一个实体,因为其生命周期将是实例化和构建组件的持续时间等。因此,我正在努力的模型的方面是我应该拥有多少个聚合, (ier)根是? “组件”是否应该是集合体,因为它们在结构上通常被视为一个整体?但是然后构建也需要是一个Aggregate,其中包含关联的Aggregates(即“组件”)列表,这样可以吗?

对此,任何指导或材料将不胜感激!

1 个答案:

答案 0 :(得分:0)

  

我的应用程序的目的是构建一组称为“组件”的xml文件

我认为您是从错误的角度来解决问题。在DDD中,您应该首先独立于基础结构(例如文件格式)对业务规则进行建模。集合体应执行这些规则。 但是,如果将某些数据转换为xml文件确实是您程序的目的,那么DDD就是完全过时的了,最好编写脚本或类似内容来完成这项工作。