乐趣区

关于ddd:领域驱动设计DDD架构解析和绘图模板分享

  • DDD 整洁架构

DDD 整洁架构为了解决强调用的关系,呈现了 洋葱架构(六边形)架构 ,就是为了实现 依赖倒置

它的思维就是把畛域模型放到外围的地位,畛域模型 是独立的,不会间接强依赖其余层,而通过 适配器 来实现畛域模型和外层的数据交换。

  • DDD 分层架构和三层架构的区别与关系

DD 分层架构和三层架构的区别与关系 DDD 代码分层架构与传统三层架构比照,能够发现传统三层架构被看成是一个贫血模式的畛域驱动设计

  • DDD 分层接口调用时序逻辑关系

DDD 分层接口调用时序逻辑关系上面是基于 DDD 畛域模型设计的零碎中罕用接口调用时序交互流程

  • CQRS 架构

CQRS 架构 CQRS,中文名为 命令和查问职责拆散

CQRS 将零碎中的操作分为两类,即「命令」(Command)  与「查问」(Query)。命令则是对会引起数据发生变化操作的总称,即咱们常说的新增,更新,删除这些操作,都是命令。而查问则和字面意思一样,即不会对数据产生变动的操作,只是依照某些条件查找数据。

CQRS 的核心思想是将这两类不同的操作进行拆散,而后在两个独立的「服务」中实现。这里的「服务」个别是指两个独立部署的利用。在某些非凡状况下,也能够部署在同一个利用内的不同接口上。

Command 与 Query 对应的数据源也应该是相互独立的,即更新操作在一个数据源,而查问操作在另一个数据源上。当然查问和命令对应的数据源尽管不一样,然而必定是须要同步的,那咱们该怎么实现数据源的同步呢?

从图上能够看到,当 command 零碎实现数据更新的操作后,会通过「畛域事件」的形式告诉 query 零碎。query 零碎在承受到事件之后更新本人的数据源。所有的查问操作都通过 query 零碎裸露的接口实现。

从架构图上来看,CQRS 的实现仿佛并不难,许多开发者感觉无非是「增删改」一套零碎一个数据库,「查问」一个零碎一个数据库而已,有点相似「读写拆散」,并没有什么特地的中央。然而真正要应用 CQRS 是有许多问题与细节要解决的。

备注:以上架构图都应用 PDDON 在线画图工具收费制作,有须要要的敌人能够到官网上找到相似的架构图模板哦,收费克隆模板,依据自家业务克隆模板进行调整就能够应用了,工具和模板地址:https://pddon.com

退出移动版