上下文:   所以,我试图建立一个荒谬复杂的领域模型。与用户交谈,系统将有多种使用方式(例如:一种方式是从员工的角度来看;另一种方式是从雇主的角度来看)。实际上,它们是重用核心域的多个应用程序。

问题:   从多个角度创建域名是错误的吗?例如,在业务运行时构建域意味着创建各种关系类,这些关系类带有关于实体的额外信息等等......但是,从特定的角度运行时,图像更清晰,因为大多数关系类可以滚动到它们的父实体中。

想法?反驳?我完全离开了吗?

有帮助吗?

解决方案

不,这绝对合适。埃文在他的书中称这些“观点”为界限背景。

尝试构建一个以特定方式很好地解决域的简单模型,而不是拥有一个非常复杂的域模型。有界上下文可以链接在一起形成一个更小,更简单,直接的域模型的网络。

其他提示

我认为您不应该尝试预先定义'核心域'。让它出现在开发过程中。此外,2个(或更多)观点不常见的任何内容都不应该在“核心”中。

例如,从雇主角度构建系统的一部分。这可能会提示您创建“项目”,“任务”和“客户”等实体。然后从雇主的角度构建一部分。这可能会提示您构建新实体,并重用“项目”和“任务”。那时我将'Project'和'Task'移动到系统其余部分共享的'核心库'。

有时您会找到共同的实体,但以不同的方式相关。在这种情况下,关系应该由上下文注入,而不是与实体本身一起内置。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top