问题描述
a)对于包含两个或多个子域的BC,概念可能会重叠甚至更糟,每个子域可能会以不同的方式解释/理解同一概念(这些子域中的几个使用)。
a) With BCs containing two or more subdomains there's a possibility of concepts overlapping and even worse, the same concept ( used by several of these subdomains ) may be interpreted/understood differently by each subdomain.
无论如何,如果BC确实包含许多子域,它是否应该提供几种通用语言,每个子域使用一种语言,还是所有子域都共享相同的通用语言?
Regardless, if BC does contain numerous subdomains, should it provide several Ubiquitous languages, one for each subdomain, or should all subdomains share the same Ubiquitous language?
b)我假设当一个子域跨越多个BC时,这些BC中的每个BC都应定义自己的通用语言?
b) I assume when a single subdomain spans several BCs, each of these BCs should define its very own Ubiquitous language?
谢谢
推荐答案
a)尽管每个域和子域都有自己的语言,但UL专门针对BC。 BC对域进行建模,并从已经建立的域语言中尽可能多地借用。之所以称其为普遍存在,是因为它被工程师和领域专家普遍使用,但不幸的是,对于领域语言本身而言,通常不能说它。
a) Although each domain and sub-domain may have its own language, the UL specifically targets the BC. A BC models the domain and barrows as much as possible from the already established domain language. It is called ubiquitous because it is used ubiquitously by the engineers and the domain experts, which unfortunately often cannot be said for the domain language itself.
B)每个BC应该具有自己的UL。
B) Each BC should have its own UL.
当BC建模多个(子)时具有重叠概念的领域,考虑将BC拆分是明智的。共享内核可用于对两个(子)域中概念相同的重叠进行重复数据删除。
When the BC models more than one (sub)domain with overlapping concepts it would be wise to consider splitting that BC. A shared kernel could be used to deduplicate the overlap that is equal in concept in both (sub)domains.
这篇关于有界上下文,子域和无处不在的语言的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!