DDD的模式与实践案例(3)

简介: DDD的模式与实践案例(3)

限界笔纸法来源于TW的资深大佬,其本质上是对四色建模法的一种升级,将建模过程用纸和笔记录下来,形成表格。然后从这些表格实例中抽取实体和值对象,确定这些实体和值对象的聚合关系。


image.png


image.png


image.png


上图是CQRS架构的一个典型架构图,其核心就是将读和写进行分离,同时对写按命令场景去区分,


对读进行统一抽象。


但是很多情况下这个架构并不是我们首选的一种方式,后面会讲到。



在我看来洋葱架构很好的表达了DDD在不同架构风格的位置,说白了DDD所要表达的内容就是核,将需求建模成一个核,底层的技术组件和上层的用户接口以及测试用例都是围绕核来建设的。上图是洋葱架构的一种形式,另外一种形式就是基础设施作为核心,将Object Model和Service融入到核心的外层。


在洋葱架构中其要表达的核心思想就是,外层调用只能调用内层,不允许进行跨层调用。


image.png


COLA架构是我很早就接触过的一种架构思想,当时还在2.0阶段,我刚一看到也是一脸不屑,以为跟网易的COLA有啥关系,后来经过详细了解和揣摩之后发现这个架构的兼容性和扩展性以及适配性都比较好。当然这个图也很好的融合了整洁架构,适配器架构和洋葱架构的特点。


image.png


很多时候一个大型项目其实不止一种架构风格,比如DDD的分层架构和上述的COLA架构,这里其实可以将DDD的分层架构与CQRS架构进行融合,首先看写调用,调用流程正常走分层架构模式,中间加了一个cmd命令模型,exe执行器模块进行业务逻辑串联,读调用就可以单独走服务接口,正好与读写分离是相通的。



相关文章
|
9月前
|
敏捷开发 架构师 Java
【领域驱动设计专题】一文带领你透视DDD领域驱动模型的本质和设计原理分析指南(基本概念篇)
【领域驱动设计专题】一文带领你透视DDD领域驱动模型的本质和设计原理分析指南(基本概念篇)
213 0
|
7月前
|
中间件 BI 测试技术
【实践篇】领域驱动设计:DDD工程参考架构
领域驱动设计(DDD)参考架构旨在为团队提供DDD实践的起点,强调业务与技术的分离,考虑多种架构风格如分层、六边形等。它包括多限界上下文结构,每个上下文内有应用层(不含领域逻辑)、领域层(含领域模型和事件)和网关层。接入层负责外部请求的处理,业务层协调不同上下文。组件包括Start(启动)、Common(通用)、API、Facade、Application Service、External API、Query、Domain和Gateway,各组件有明确的职责和依赖关系,如Gateway处理技术细节并作为系统与外部的接口。架构设计是多因素权衡,适应实际工程需求。
327 0
|
前端开发 架构师 Java
领域驱动设计DDD从入门到代码实践
在本文中,作者将借鉴《实现领域驱动设计》的做法,介绍领域驱动设计的基本概念的同时,用一个虚拟的公司和一个虚拟的项目,把领域驱动设计进行落地实践。
13905 10
领域驱动设计DDD从入门到代码实践
|
前端开发 JavaScript NoSQL
DDD实战之二:看看代码结构长啥样
DDD实战之二:看看代码结构长啥样
DDD实战之二:看看代码结构长啥样
|
小程序 前端开发 Java
DDD实战之三:整体工作框架和全局需求分析(上)
DDD实战之三:整体工作框架和全局需求分析(上)
DDD实战之三:整体工作框架和全局需求分析(上)
|
供应链 小程序 安全
DDD实战之三:整体工作框架和全局需求分析(下)
DDD实战之三:整体工作框架和全局需求分析(下)
DDD实战之三:整体工作框架和全局需求分析(下)
|
设计模式 领域建模
DDD的模式与实践案例(1)
DDD的模式与实践案例(1)
1047 0
DDD的模式与实践案例(1)
|
Dubbo Java 应用服务中间件
DDD的模式与实践案例(4)
DDD的模式与实践案例(4)
1151 0
DDD的模式与实践案例(4)
|
设计模式
DDD的模式与实践案例(2)
DDD的模式与实践案例(2)
754 0
DDD的模式与实践案例(2)