领域驱动设计模型设置

Domain Driven Design Model Setup

过去几周我一直很享受学习清洁架构和领域驱动设计,现在我想将其用于个人项目以进行尝试。但是我在为我的领域建模时遇到了一些关键概念的问题 space!我花了一些时间思考这个问题并在网上寻找示例,但觉得我可能以错误的方式思考这个问题。我尝试建模的情况如下所述...

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

到目前为止,我已经决定 'components' 的属性将是值对象,而 'component' 本身将是一个实体(因为它在应用程序中具有生命周期)。我也相信 'build' 作为一个整体应该是一个实体,因为它的生命周期是组件被实例化和构建等的持续时间。所以我正在努力处理的模型方面是我应该有多少聚合以及什么(更多)根应该是? 'component' 是否应该是聚合,因为它们在构造方面通常被视为一个整体?但是构建还需要是一个包含关联聚合列表的聚合(即 'components'),这样可以吗?

任何指导或material将不胜感激!

The purpose of my application is to build a set of xml files called 'components'

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