13.通用语言

114 阅读3分钟

通用语言

1.介绍

通用语言(Ubiquitous Language)指的是开发团队和领域专家之间使用的共同语言。通用语言的核心思想式整合领域专家和开发人员的语言,形成一种共同的语言,以避免在沟通过程中的理解差异和术语歧义,降低沟通成本,提高沟通效率,帮助团队更好地理解业务需求

能够正确的,简单的,清晰的表达业务。并让项目参与人员都能够达成共识的语言

2.为什么需要

你们的技术专家,架构师,后端,前端,测试,业务领域专家,产品都会参与你们的整个项目。但是出现了沟通鸡同鸭讲的情况,沟通效率低下等问题

3.基本原则

  1. 遵循行业规范
  2. 不包含任何IT术语
  3. 只包含术语用例
  4. 开发人员使用业务人员的用语作为开发词汇
  5. 开发人员划分好领域对象后,将这些词汇关联到领域对象上
  6. 开发人员将这些词汇映射到代码中

4.通用语言中的名词与动词

  1. 通用语言中的名词:可以给领域对象命名,如商品、订单等,对应实体对象
  2. 通用语言中的动词:动词则表示一个动作或事件,如商品已下单、订单已付款等,对应领域事件或者命令

6.如何构建

确定业务领域

通用语言往往是业务领域的行话,因此需要明确业务领域是什么。业务领域可以是一个业务部门,一个业务流程或一个产品

例如,在物流配送业务中,用户签收一般称之为妥投

收集业务知识

收集业务知识是构建通用语言的关键步骤。在很多业务领域中,其实已经形成了行业标准或者概念,团队成员需要与领域专家进行交流,了解业务流程,业务规则,业务概念等方面的知识,并将其收集起来,作为通用语言的基础

定义通用语言

在收集业务知识的基础上,团队成员可以开始定义通用语言:

  • 对于存在多个类似概念的术语,选择最恰当的术语纳入通用语言
  • 对于某些不存在在术语定义的流程或者概念,可以对其进行命名
  • 定义好的通用语言,可以沉淀为内部公开的术语文档

在定义通用语言有一些原则:

  • 简单明了,而不是晦涩难懂
  • 含义准确,而不是模棱两可
  • 尊重事实,而不是创造不必要的新词

验证通用语言

定义通用语言后,团队成员可以通过讨论,模拟场景等方式来验证通用语言的准确性和适用性。在验证过程中,需要注意收集反馈和建议,持续对通用语言进行完善

7.维护

介绍

通用语言不是一成不变的,它需要随着业务的变化而不断更新和维护

定期回顾通用语言

团队应该定期回顾通用语言,检查是否需要进行更新和调整。如果业务发生了变化,通用语言也需要进行更新

提供培训和文档

团队成员需要了解通用语言的定义和使用方法。因此,需要提供相应的培训和文档,以便团队成员学习和使用通用语言

吸收反馈和改进建议

通用语言的改进需要吸收来自团队成员和业务专家的反馈和建议。团队应该鼓励成员积极参与通用语言的改进,以便不断提高通用语言的准确性和适用性