The DoYouHaoBaby PHP Framework中文开发文档手册
Copyright(c) DoYouHaoBaby.NET All Rights Reserved.
[ 对通用语言的需要 ]

我们认识到由软件专家和领域专家通力合作开发出一个领域的模型是绝对需要的,但是,那种方法通常会由于一些基础交流的障碍而存在难点。

在讨论模型和定义模型时,我们确实需要讲同一种语言。那么是哪种语言呢?开发人员的语言?领域专家的语言?介乎两者之间的语言?

使用模型作为语言的核心骨架。要求团队在进行所有的交流是都使用一致的语言,在代码中也是这样。在共享知识和推敲模型时,团队会使用演讲、文字和图形。这儿
需要确保团队使用的语言在所有的交流形式中看上去都是一致的。因为这个原因,这种语言被称为“通用语言(Ubiquitous Language)”。

我们需要发现定义领域和模型的那些关键性概念,发现描述它们的相应的用词,并开始使用它们。它们当中的一些可能很容易被发现,但有些却不能。

通过尝试反映其他可选模型的其他的表述方式,可以消除这个难点。然后重构代码、重命名类、方法和模型以适应新的模型。使用我们能够正常理解的普
通词汇,化解交谈所使用术语之间的混乱。构建一个类似这样的语言会得到一个清晰的结果:模型和语言相互密切关联。一个对语言的变更会变成对模型的变更。



领域专家会反对用那些很笨拙的或者不适当的字眼或者结构来传达对领域的理解。如果领域专家不能理解模型或者语言中的某种内容,那么就如同是说这种内容
存在某种错误。从另一方面讲,开发人员应该留意那些与他们试图呈现在设计中的内容存在二义性或者不一致的部分。