知识卡片

通用语言:项目团队沟通的统一语言

普通读书笔记卡

内容

DDD领域建模过程会涉及领域专家、产品经理、架构师、开发和测试人员等多种角色,对同一份领域知识,不同角色理解可能不一样,同一个名词术语在团队内也可能存在多种叫法,这会造成交流障碍甚至传递错误信息。通用语言正是为解决这个问题而生:它是团队通过事件风暴交流达成共识、能够简单清晰准确描述业务含义和规则的统一语言,不管团队成员担任什么角色,在同一领域的软件生命周期里都用这套统一语言交流。通用语言里的名词一般给领域对象命名(如商品、订单),对应领域模型中的实体对象;动词表示一个动作或领域事件(如商品已下单、订单支付),对应领域模型中的领域事件或命令。通用语言的价值不止停留在口头沟通层面——它会贯穿整个DDD设计过程,把领域模型映射到代码模型时,这些名词术语会直接反映到代码里,使代码可读性更好,也让不熟悉代码的业务人员能通过这套统一的语言和映射关系快速定位到业务逻辑所在的代码位置,业务语言与代码语言由此实现了统一。

参考来源

- 位置:《中台架构与实现:基于DDD和微服务》第6章《限界上下文:定义领域边界的利器》"6.1 什么是通用语言"(源文件:_epub-src/OEBPS/Text/chapter3-2-1.xhtml) - 结论依据:原文说明"在事件风暴过程中,通过团队交流达成共识的,能够简单、清晰、准确地描述业务含义和规则的语言就是通用语言……通用语言中的名词一般可以给领域对象命名,如商品、订单等,它们对应领域模型中的实体对象。而动词则表示一个动作或领域事件……它们对应领域模型中的领域事件或者命令",直接支撑本卡片结论。 - 原始内容:在事件风暴过程中,通过团队交流达成共识的,能够简单、清晰、准确地描述业务含义和规则的语言就是通用语言。也就是说,通用语言是团队的统一语言……通用语言中的名词一般可以给领域对象命名,如商品、订单等,它们对应领域模型中的实体对象。