Skip to content

通用语言(Ubiquitous Language)

定义

通用语言是领域驱动设计中连接业务与技术的核心概念,它是领域专家开发团队共享的精确语言。

核心概念

领域专家

领域专家是对特定业务领域有深入理解的人,例如:

  • 汽车行业的工程师
  • 金融领域的分析师
  • 医疗系统的医生

他们的特点包括:

  1. 精通领域专有名词
  2. 深刻理解业务模型
  3. 能够解决领域核心问题

为什么需要通用语言?

传统开发流程的问题

null

信息失真案例

角色理解实际结果
客户燃油汽车老年代步车
项目经理标准汽车配置简化版配置
开发人员基本功能实现功能不完整

如何建立通用语言

1. 术语对齐

java
// 领域模型示例
class Car {
    Engine engine;
    List<Tire> tires;
    Wheel steeringWheel;
    List<Seat> seats;
    
    void start() { /*...*/ }
    void stop() { /*...*/ }
    void accelerate() { /*...*/ }
    void brake() { /*...*/ }
    void turn() { /*...*/ }
}

2. 实践原则

  1. 统一命名:业务术语与代码命名一致
  2. 持续精炼:在项目演进中不断优化语言
  3. 文档同步:保持文档与代码的一致性
  4. 双向验证:领域专家可验证业务逻辑正确性

价值

通过通用语言,我们可以:

  • 消除业务与技术间的沟通障碍
  • 确保需求准确传递
  • 提高软件与业务需求的匹配度
  • 降低维护成本