战略设计
通过 DDD 的理论,对业务进行领域划分构建领域模型,梳理出相应的限界上下文,通过统一的领域语言从战略层面进行领域划分以及构建领域模型。
因此在战略设计中主要的工作:
领域划分
通过对业务的拆解以及公司团队的业务定位,将业务场景分解,识别出核心领域、通用域、支撑域。并确定领域的边界以及领域间关系。
领域建模
通过业务场景,对用户故事以及用例的分析,梳理限界上下文,确定领域边界以及上下文映射图(Context Map),建立领域模型,分析领域事件,聚合、实体、以及值对象。
战略设计通常产出:
领域模型(domain model)是业务概念在程序中的一种表达方式。在 DDD 实践中,领域模型应当尽量简洁,能反应业务概念即可。
通用语言(Ubiquitous language)是指在软件设计中,业务人员和开发人员需要使用无歧义的统一语言来对话。
子域(Sub Domain)是领域的一部分。为了降低业务理解复杂度,DDD 通常将领域划分为子域,通过分而治之的方法分析问题。
限界上下文(bounded context)就是用以确定语义所在的领域边界。就可在统一的领域边界内用统一的语言进行交流。
上下文映射(Context Map)就是表示两个或多个限界上下文之间的映射关系。