DDD领域驱动设计浅见

2021-12-02  本文已影响0人  后来丶_a24d

目录


DDD简介

DDD是啥

DDD能给微服务带来什么

不用DDD的常见设计方式
  1. 以数据库设计为指导,会导致各个模块割裂,相互独立,随着业务越来越复杂,各个模块难免有各种各样的交互。
  2. 数据库描述的是数据的数据结构,而不是整个系统对数据的处理,不够体系化

DDD整洁架构

常见三层架构设计
整洁架构
  1. 整洁架构业务实体(黄色)和业务应用(红色)是整个应用的核心, 业务实体就是那些核心业务逻辑,而业务应用就是面向用户的那些服务(service)。业务实体和业务应用组成了业务领域层,也就是通过领域模型形成的业务代码的实现。
  2. 整洁架构的最外层是各种技术框架,比如ui, db, mq, redis等
  3. 整洁架构的精华在于其中间的适配器层(青色),适配器将核心的业务代码跟外围的技术框架进行解耦。设计适配层,让业务代码与技术框架解耦,让业务开发团队与技术架构团队各自独立地工作,成了整洁架构落地的核心。

DDD感悟


DDD基础概念

服务、实体与值对象、贫血模型/充血模型

服务
实体
值对象
贫血模型,充血模型

聚合、仓库与工厂

聚合
仓库Repository
工厂

界限上下文


DDD实践

DDD整体设计流程

战略设计
  1. 事件风暴先分析出所有业务事件,比如下单。需要领域专家参与,统一业务语言。所以这块要求就比较高,一般公司难以实现。


    事件风暴.png
  2. 划分界限上下文


    划分界限上下文.png
战术设计
  1. 各个界限上下文的领域建模
  1. 如果要完全按照DDD的思想,那这时候要技术中台支持业务将,业务与技术抽离,就是业务持久化只调用防腐层,类似接口,实现可以技术中台提供jar等方式。但是这样对技术中台要求很高,所以一般这步还是没实现防腐层,会沉淀业务到业务中台。
  2. 各个界限上下文领域建模后就是数据库以及微服务的设计了。

整洁架构实战


参考文章

上一篇下一篇

猜你喜欢

热点阅读