文章链接
DDD基本概念
- DDD 是一种面向复杂需求的软件设计方法,将软件开发和核心业务概念深度联系起来,设计出不断发展的模型
- DDD 目标概述
- 将主要重点放到核心领域和领域逻辑上(core domain)
- 将复杂的业务逻辑的实现设计体现在领域模型上
- 在技术专家和领域专家直接发起创造性合作,不断晚上特定领域下的概念模式
- DDD 名称解释
- 领域是一系列业务知识和业务行为的集合
- 比如金融领域:商户、客户、用户等领域专家从事活动、积累经验、掌握知识的集合
- 比如医疗领域: 医生、护士等领域专家从事活动、积累经验、掌握知识的集合
- 领域专家:领域专家不是一个职位;他可以是精通业务的任何人,了解业务领域知识,他们可能是相关从业者、产品经理、开发者、QA、销售等等。
- Model:领域模型是关于某个特定业务领域人软件模型。通常领域模型通过对象模型实现,这样对象同时包含了数据和行为,表达了准确的业务含义。
- Ubiquitous language
- 通用语言指的是一种围绕域模型构建的语音,由所有团队成员在限界上下文中使用,将团队和活动软件联系起来。比如在财经领域: 直连、间连、收单、退款
- 只有团队中所有成员都使用了通用语言(所有的词语、概念都是明确的),才能保证我们各方的理解是正确的;团队内成员合作是紧密高效的;是能激发团队内成员的创造力的。
- Context :上下文指的是一个人为设定,确定了上下文环境后,我们才能确定词语或语句的含义。
- 领域是一系列业务知识和业务行为的集合