DDD之使用分析模式解决复杂问题

94 阅读2分钟

探索一个能帮你加强领域建模技能的利器——分析模式。 《分析模式》是 Martin Fowler 写的一本领域建模的专著。

1.什么是分析模式

之所以叫做分析模式,是因为这些模式都是用来为业务概念建模的,在软件工程中属于“分析”层面。这和没有具体业务概念的“设计模式”形成了鲜明的对比。

2.体现分析模式的案例

2.1 业务需求的灵活性要求

组织管理模型如下所示。 在这个模型里,有关组织层级的业务规则,比如说“开发组的上级只能是开发中心”,还不能通过表来定义,只能硬编码在程序里。这样的话,组织的层级关系无法完全灵活定义,所以"灵活定义组织层级的关系"是使用分析模式要解决的问题之一。 image.png

2.2基于组织层级模式的领域模型

组织类型图如下,组织类型的上下级之间是一对多关系。企业下面可以有两个组织类型,信息技术部和总公司一级部门,而每个组织类型的上级只能是一个组织类型。 image.png

在组织类型上加了一个一对多的自我关联,用来表示组织类型的上下级关系。 根据这个模型,可以在数据库里建一个组织类型表,这样就可以灵活定义组织层级关系,而不需要硬编码了。 image.png

2.2 组织结构模式

当组织管理引入一个新需求"一个组织可以处于多个组织结构里"时,可以考虑使用组织结构模式。 如下图所示,组织类型之间的上下级关系也变成了多对多。 image.png

就能表示如下"一个组织归属多个上级组织的"的需求: image.png

此外还有知识层模式、参与方式模式和分层责任模式待更复杂的模式。


此文章为3月Day4学习笔记,内容来源于极客时间《手把手教你落地 DDD》