什么是DDD 该框架如何处理复杂的流程?

依据本文的了解就可以了解DDD是1种转化业务流程、分割业务流程、明确业务流程界限的方式,是1种极度繁杂的行业设计构思观念,将咱们的难题拆分成一个一个的域,尝试剥离技术开展的多元性,关键处理的是软件难以理解无法演变的难题,DDD并不是1种框架,反而是1种框架系统论,意义便是将繁杂难题行业更加简单,协助咱们设计构思出明确的行业和界限,能够非常好的开展技术架构的演变。DDD包含两一部分,发展战略设计构思一部分和战略设计构思一部分。

outputo-20210626-095200-563-xqtb.png

发展战略设计构思关键从业务流程角度考虑,创建业务流程领域模型,分割行业界限,创建通用语言的界限前后文,界限前后文能够做为微服务设计构思的参照界限。

战略设计构思则从技术角度考虑,偏重于领域模型的技术开展,开展开发软件和真正落地,包含:汇聚根、实体线、值目标、行业服务项目、cdn服务和资料库等源代码逻辑的设计构思和开展。

DDD发展战略设计构思会创建领域模型,这4个字放一块儿会令人认为很深奥,实际上是纸老虎,简单来讲便是模仿某一行业的的1种实体模型,这一实体模型较为抽象性,但有利于大伙儿沟通交流,举个事例:森林公园有一株果树,如果我们想认真探讨果树该怎么探讨?

水蜜桃好吃吗?贵不算太贵?种类?怎么种植?种在哪儿?弄成铜葫芦?水蜜桃叶子功效与作用?

你看一下,那样探讨每一个难题都很有些道理,可是又十分错乱,再追忆一下下初二生物书本上是那么探讨的?

先将绿色植物依据大伙儿的了解分成好几个部位构成,像水蜜桃、桃叶、杏花这种,随后将每一个部位再依据功效细分成机构,再依据这一机构中每个细胞的状态等功效分成不一样的细胞,你看一下这会不会是1种很条理清晰的统计分析方法。

DDD也是这样,当大家对待果树这类繁杂的业务流程的情况下,先依据原有的认知分成好几个部位(行业),随后再在每一个行业中依据某些纬度(这里是功效)分成好几个机构(汇聚),而每一个机构中由许多细胞(实体线)构成,这就是1种发展战略,有什么益处呢?能够保证咱们谈论的界限,也就是谈论的物品是一个行业1个纬度的,针对果树来讲,水蜜桃、杏花、桃叶、树身全部都是不一样的行业,分割不一样行业的便是界限,咱们这里叫行业界限,当大家明确好这种行业之后,就可以保证咱们谈论的是相同行业一部分的物品,那样的益处便是我们可以规范好某些定义,换句话说专业术语,之后大伙儿谈论的情况下就尽量少的数据丟失。

DDD发展战略设计构思会创建领域模型,领域模型用于具体指导微服务的设计构思和拆分,DDD首先要做的便是来一个发散思维,能够了解成一块儿谈论对业务流程的了解,关键意义便是尽量前边不忽略的转化咱们的业务流程行业,就如同刚刚的果树,最开始要做的便是尽量多的深入分析,保证每一个行业可以被留意到,结合实际,通常会运用测试用例深入分析、场景深入分析和客户旅行深入分析,这是一个扩散的全过程,发散思维环节会产生许多实体线、指令、事件等行业目标,咱们从不一样的纬度对开展聚类算法产生汇聚、界限前后文等界限,创建领域模型,这是一个收敛的全过程。


分享: