提炼问题域
提炼问题域
对于复杂问题我们本能的反应会是到一个问题给出一个回应办法,而从这些问题整体来看这种方式会阻碍团队找出最佳解决方案。
同时
-
通用
(Generic) 层: 通用层通常被认为已经被行业解决的问题,如架构设计中的可观测性的Logging 、Metrics 和Tracing ,各种云服务(Cloud Service) 等,这些都已经有比较好的实现方案,对接就可以;如成熟的行业解决方案,如ERP 、CRM、成熟硬件系统等,直接采购即可。 -
支撑
(Supporting) Domain :和通用层类似,但是系统更来自内部或者还需要在通用的基础上进行一些定制开发。如一个电商系统,会员、商品、订单、物流等业务系统,当然还有一些内部开发的技术类型支撑系统。 -
核心
(Core) 层: 也就是我们常说的业务核心,当然如果是技术产品,就是技术核心,这个也就是你最要关注的;核心域是开发该软件系统根本竞争力所在,也是领域建模的重心,建议分配最精锐的研发。
核心域是最与众不同且花费精力比较多的,在复杂性

该阶段领域专家只专注于问题域而不是解决方案,业务和技术人员基于
案例:桃树与保险
以研究对象“桃树”为例,其中包括:根,茎,叶 花,果实,种子。这些元素,其中 根茎叶 可放在一起,看做 “营养系统

我们来看一下上面这张图。这个例子是在讲如何给桃树建立一个完整的生物学知识体系。初中生物课其实早就告诉我们研究方法了。它的研究过程是这样的。
- 第一步:确定研究对象,即研究领域,这里是一棵桃树。
- 第二步:对研究对象进行细分,将桃树细分为器官,器官又分为营养器官和生殖器官两种。其中营养器官包括根、茎和叶,生殖器官包括花、果实和种子。桃树的知识体系是我们已经确定要研究的问题域,对应
DDD 的领域。根、茎、叶、花、果实和种子等器官则是细分后的问题子域。这个过程就是DDD 将领域细分为多个子域的过程。 - 第三步:对器官进行细分,将器官细分为组织。比如,叶子器官可细分为保护组织、营养组织和输导组织等。这个过程就是
DDD 将子域进一步细分为多个子域的过程。 - 第四步:对组织进行细分,将组织细分为细胞,细胞成为我们研究的最小单元。细胞之间的细胞壁确定了单元的边界,也确定了研究的最小边界。
我们知道细胞核、线粒体、细胞膜等物质共同构成细胞,这些物质一起协作让细胞具有这类细胞特定的生物功能。在这里你可以把细胞理解为
保险是个比较大的领域,很早以前的保险核心系统把所有的功能都放在一个系统里来实现,这个系统就是我们常说的单体系统。后来单体系统开始无法适应保险业务的发展,因此保险公司开始了中台转型,引入分布式微服务架构来替换原来的单体系统。而分布式微服务架构就需要划分业务领域边界,建立领域模型,并实现微服务落地了。
为实现保险领域建模和微服务建设,我们可以根据业务关联度以及流程边界将保险领域细分为:承保、收付、再保以及理赔等子域,而承保子域还可以继续细分为投保、保全(寿险