百问中台:基于DDD的中台领域分析与设计

2020-09-27  本文已影响0人  sknfie

DDD领域分析与设计

概述

领域指的是范围和界限,主要用来确定业务的界限。
领域驱动设计DDD(Domain Drive Design)是一种面向对象建模方法,通过设计高质量的软件模型,解决复杂中大型软件的一套行之有效的方式。

领域分析与设计

以交易系统为例,进行领域分析与设计。

1.业务领域

一个领域本质上可以理解为就是一个问题域,只要是同一个领域,那问题域就相同。所以,只要我们确定了系统所属的领域,那这个系统的核心业务,即要解决的关键问题、问题的范围边界就基本确定了。

交易系统涉及的是用户、货物、合同、交易、支付等相关业务,本质还是交易系统。这些核心业务也是任何交易系统都会涉及的业务。
因此,DDD中的领域是界限在指定的业务需求之中,有了清楚的范围边界。

2.领域拆分

DDD在软件开发设计过程注重的是领域建模:
在了解了业务领域的业务规则之后,需要对一个复杂的领域进行分析,往往先简而化之,即领域拆分。

根据上面的案例所涉及的业务,用户、货物、合同、交易、支付等相关业务,可以大致拆分成以下几个子域:

3.核心子域

核心子域作为一个业务的核心存在,最能体现系统的核心价值与核心竞争力。也是在进行开发设计的时候,体现的主次之分的主要部分。
因此,交易系统的核心就是为了交易,因此其核心子域就是交易子域。

4.通用子域

通用子域是为整个业务领域服务的。
系统管理模块提供日志系统用来记录各个服务的日志。
因此,需要设计一个日志子域来供其他子域使用。

5.支撑子域

支撑子域作为非核心业务,是为业务系统的某些重要业务服务的。它关注的是业务某一方面,用来支撑完善业务系统。
因此,划分的子域中除了交易子域,其他都是支撑子域。

6.总结

本文主要结合交易系统案例,介绍了DDD中领域、核心域、通用子域、支撑子域的定义。

上一篇下一篇

猜你喜欢

热点阅读