【笔记】DDD领域驱动设计精粹——浅谈DDD

前言:`

前不久,在工作中使用DDD(领域驱动设计)完成对系统架构和功能的重构,前期参考了很多DDD文章讨论了战略设计划分好模型和领域,然后使用战术设计落实整个项目的重构,重构期间学到了很多DDD的思想,这几天有空整理了一下笔记:


DDD是什么?

DDD(英文名:Domain-Driven Design)领域驱动设计,是一种架构设计方法,DDD主要关注业务中的领域划分领域边界,建立好的领域模型,通过抽象,持续调整架构和优化代码。


CQS规范是什么?

应用层入参的时候使用C(command)、Q(query)、E(Event)作参数接收,返回则用DTO
1.Command作为入参:
适用于对数据进行修改或删除操作,类似POST请求表单提交
2.Query作为入参:
顾名思义,适用于进行数据查询操作,类似GET查询列表数据
3.Event作为入参:
适用于事件回调的场景下使用,例如消息中间件的组内通信,下单推送消息触发事件Event对支付成功之后加积分等操作处理

殷浩详解DDD:如何避免写流水账代码?


领域驱动规范

殷浩详解DDD:领域层设计规范


DP是什么?

DP全称叫Domain Primitive,DDD中常常被用来叫PO,具有自己特征的PO,可以拥有行为,可以参考链接:殷浩详解DDD系列 第一讲 - Domain Primitive


DDD应用架构

殷浩详解DDD系列 第二讲 - 应用架构


Repository是什么?

Repository在DDD中常常用来做仓储层,用于service层调用dao层之间加多一个中间层,让开发者更好的关注于写业务,业务层service通过repository层间接访问dao层,减少代码对数据库的“固化”(解耦)
殷浩详解DDD系列 第三讲 - Repository模式


学习分享:

其他感兴趣的同学可以参考一下:

DDD实战课

你可能感兴趣的:(DDD领域驱动模型设计,java,阿里云,微服务)