模型和有界上下文在概念上是:
型号:
A system of abstractions that describes selected aspects of a domain and can be used to solve problems related to that domain.
有界上下文:
The setting in which a word or statement appears that determines its meaning.
但我不得不问:
两者之间的关系是包容关系, i、 有界上下文有一个或多个模型?
据我所知,DDD概念应该可以通过代码库进行识别(在某种程度上),这对于聚合、实体、事件、命令等来说是很清楚的,但是模型和有界上下文是如何映射到代码库的呢?例如,一个模型只是一个或多个集合的集合,还是其他什么?有界上下文是名称空间还是其他什么?
提前谢谢。你知道吗
注意:请随意用框架、Django、Axon……等来陈述您的答案
我想你可以这样说,但是有界上下文(BC)只有一个模型,对象的命名是根据BC的泛在语言(UL)来命名的。你知道吗
模型和BCs都属于解空间。你知道吗
在问题空间中有域和子域。你知道吗
在解决方案空间中有BCs(理想情况下与子域相关的比例为1:1)。你为子域建模,每个子域模型都有一个BC。你知道吗
但例如,您可以只使用一个模型对整个域进行建模,这样您就可以在整个域的解决方案空间中只使用一个BC。在本例中,一个BC与多个子域相关。这个BC将是一个单片应用程序。你知道吗
另一个例子是,当您将子域拆分为几个“部分”并对每个“部分”进行建模时,就会出现与许多bc相关的子域。所以你会有很多子域的模型。这样,在解空间中就有许多用于子域的bc,即许多用于解决子域问题的应用程序。你知道吗
当根据UL术语进行的划分是模糊的时,子域和bc之间出现1:N或N:1关系的情况。你知道吗
BC是一个软件系统,一个自治的应用程序。模型是BC的源代码。但是在DDD中存在另一个概念:模块,一组内聚的域对象。它比BCs更薄。你知道吗
因此,从宽到小:
解决方案>;业务连续性>;模块>;聚合>;实体和价值对象
相关问题 更多 >
编程相关推荐