统一语言也叫公共语言,DDD战略设计的第一步就是统一语言,统一语言是团队共享的语言,是团队自己创建的公用语言。
团队中同时包含领域专家和软件开发人员。自然地,领域专家对统一语言有很大的影响,因为他最了解业务。
下面是一个以“护士给病人注射标准剂量的流感疫苗”为例,看看如何通过代码表现出实际的业务流程:
可以看出,最后一种RD和护士是可以沟通的,否则就是鸡同鸭讲,无法沟通,或者沟通成本很大。
另外一个例子:民航业的运输统计指标为例,牵涉到与运量、运力以及周转量相关的术语,就存在 ICAO(International Civil Aviation Organization,国际民用航空组织)与IATA(International Air Transport Association,国际航空运输协会)两大体系,而中国民航局又有自己的中文解释,航空公司和各大机场亦有自己衍生的定义。
城市对与航段
如果我们不明白城市对运量与航段运量的真正含义,就可能混淆这两种指标的统计计算规则。
这种术语理解错误带来的缺陷往往难以发现,除非业务分析人员、开发人员与测试人员能就此知识达成一致的正确理解。
统一语言的重要性可以根据Jeff Patton 在《用户故事地图》中给出的一副漫画来直观的描述:
统一语言本身的形式并不重要,或者说统一语言并没有统一的形式,它甚至可以是任意一种形式。
但是,当且仅当,统一语言与领域模型关联,且多方认可并承认对统一语言的集体所有权时,统一语言才能成为真正的统一语言。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
2014-12-12 InfluxDB 的卸载与重装