领域模型可成为软件的通用核心语言。该模型是一组得自于项目人员头脑中的概念,以及反映了领域深层含义的术语关系。这些术语和相互关系提供了模型语言的语义,虽然语言是为领域量身定制的但就技术开发而言,其依然足够的精准。正是这条至关重要的纽带,将模型与开发活动结合在一起,并使模型与代码紧密绑定。
-
通用语言
开发人员有一套自己的技术语言,领域专家有一套自己的业务语言。
在开发过程中,开发人员将领域专家的语言翻译成技术语言,然后进行开发工作。语言的支离破碎带来了一些问题,日常讨论的所使用术语与代码中的术语不一致。甚至同一个人在讲话中和写的东西使用的语言不一致,这样根本无法做到对领域的深刻认知和描述。
然而任何一方的语言都不能成为公共语言,因为不满足所有的使用需求。
将模型作为语言的支柱。确保团队内部的所有交流中以及代码中坚持使用这种语言,在画图,写东西,特别是讲话时也要使用这种语言。
要知道通用语言的调整就是模型的调整
-
大声的建模
改善模型的最佳方式就沟通,积极的跟领域专家沟通,跟开发人员沟通,认真的研究对话,大声的说出模型可能变化,这样不完善的地方很容易被听出来。
讨论系统时要结合模型。使用模型元素及其交互来大声的描述场景,并且按照模型允许的方式将各种概念结合到一起。找到更简单的表达方式来讲出要将的话,然后将这些新的的想法应用到领域模型中。
-
一个团队,一种语言
语言的多样性通常是必要的但领域专家与开发人员之间不应该有语言上的分歧。
开发人员和领域专家可以通过一步一步的使用模型对象来走查场景,从而对模型进行非正式的测试。每次讨论都是开发人员和领域专家一起使用模型的机会,在这个过程中,他们可以加深彼此的理解,形成统一语言。
当然,开发人员的确会使用领域专家无法理解的技术术语。开发人员需要大量的技术术语来讨论技术方案。理所当然的,用户也会使用开发人员无法理解的术语来讨论需求。这都是语言的扩展,但是这些语言的扩展不应该出现在领域模型之中。