探索一个能帮你加强领域建模技能的利器——分析模式。 《分析模式》是 Martin Fowler 写的一本领域建模的专著。
1.什么是分析模式
之所以叫做分析模式,是因为这些模式都是用来为业务概念建模的,在软件工程中属于“分析”层面。这和没有具体业务概念的“设计模式”形成了鲜明的对比。
2.体现分析模式的案例
2.1 业务需求的灵活性要求
组织管理模型如下所示。
在这个模型里,有关组织层级的业务规则,比如说“开发组的上级只能是开发中心”,还不能通过表来定义,只能硬编码在程序里。这样的话,组织的层级关系无法完全灵活定义,所以"灵活定义组织层级的关系"是使用分析模式要解决的问题之一。
2.2基于组织层级模式的领域模型
组织类型图如下,组织类型的上下级之间是一对多关系。企业下面可以有两个组织类型,信息技术部和总公司一级部门,而每个组织类型的上级只能是一个组织类型。
在组织类型上加了一个一对多的自我关联,用来表示组织类型的上下级关系。
根据这个模型,可以在数据库里建一个组织类型表,这样就可以灵活定义组织层级关系,而不需要硬编码了。
2.2 组织结构模式
当组织管理引入一个新需求"一个组织可以处于多个组织结构里"时,可以考虑使用组织结构模式。
如下图所示,组织类型之间的上下级关系也变成了多对多。
就能表示如下"一个组织归属多个上级组织的"的需求:
此外还有知识层模式、参与方式模式和分层责任模式待更复杂的模式。
此文章为3月Day4学习笔记,内容来源于极客时间《手把手教你落地 DDD》