让我们设想一个应用程序,在这个应用程序中,用户可以在项目上协同工作。有一个项目列表,用户可以在其中订阅一个项目,还有一个协作屏幕,多个用户可以在其中工作。
到目前为止,我已经确定了核心领域“协同工作”和子域“协作项目列表”。
项目和用户都需要某种后端,可以编辑用户设置,也可以创建/编辑项目。我没有真正的线索,所以我把它识别为子域“后端”,这看起来太抽象了,因为它没有描述任何类型的业务领域。我上面提到的两个领域都需要来自后端的数据,所以我不太愿意将后端附加到其中任何一个。
拥有“后端”子域是合法的,还是表示我的域没有明确定义?
发布于 2021-07-01 16:13:24
您的项目/用户管理域听起来像是协作“核心域”的合法“支持域”。将这种简单的CRUD类功能与协作领域分离开来是一个好主意,并受到DDD的鼓励。您可能想称它为比“后端”更有意义的东西(随着时间的推移功能的出现)。
DDD中的域不需要在DDD、CQRS或EventSourcing原则中架构,也不需要有复杂的业务规则。它的需求和功能决定了域的体系结构。因此,用于配置或管理数据的CRUD域仍然是一个域。
在同一个模式中架构整个产品(包含多个域和有界的上下文)实际上是一种反模式。你不会想浪费时间和精力,也不会是一个很好的适合。
https://softwareengineering.stackexchange.com/questions/429885
复制相似问题