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执行器模块进行业务逻辑串联,读调用就可以单独走服务接口,正好与读写分离是相通的。



相关文章
|
IDE Linux 开发工具
Linux系统、版本、CPU、内存查看、硬盘空间
*查看系统版本:lsb_release -a [root@localhost /]# lsb_release -a *查看内核版本:uname -a *查看cpu型号:cat /proc/cpuinfo [root@localhost /]# cat ...
5348 0
|
9月前
|
人工智能 API 语音技术
VideoCaptioner:北大推出视频字幕处理神器,AI自动生成+断句+翻译,1小时工作量5分钟搞定
VideoCaptioner 是一款基于大语言模型的智能视频字幕处理工具,支持语音识别、字幕断句、优化、翻译全流程处理,并提供多种字幕样式和格式导出。
1611 89
VideoCaptioner:北大推出视频字幕处理神器,AI自动生成+断句+翻译,1小时工作量5分钟搞定
|
9月前
|
存储 机器学习/深度学习 人工智能
2025年阿里云GPU服务器租用价格、选型策略与应用场景详解
随着AI与高性能计算需求的增长,阿里云提供了多种GPU实例,如NVIDIA V100、A10、T4等,适配不同场景。2025年重点实例中,V100实例GN6v单月3830元起,适合大规模训练;A10实例GN7i单月3213.99元起,适用于混合负载。计费模式有按量付费和包年包月,后者成本更低。针对AI训练、图形渲染及轻量级推理等场景,推荐不同配置以优化成本和性能。阿里云还提供抢占式实例、ESSD云盘等资源优化策略,支持eRDMA网络加速和倚天ARM架构,助力企业在2025年实现智能计算的效率与成本最优平衡。 (该简介为原文内容的高度概括,符合要求的字符限制。)
|
人工智能 自然语言处理 IDE
|
机器学习/深度学习 编解码 算法
【YOLOv11改进 - 注意力机制】MLCA(Mixed local channel attention):混合局部通道注意力
【YOLOv11改进 - 注意力机制】MLCA(Mixed local channel attention):混合局部通道注意力本项目提出了一种轻量级的 Mixed Local Channel Attention (MLCA) 模块,结合通道信息和空间信息,提升网络表达效果。基于此模块,开发了 MobileNet-Attention-YOLO (MAY) 算法,在 Pascal VOC 和 SMID 数据集上表现优异,mAP 分别提高了 1.0% 和 1.5%。MLCA 通过局部池化、一维卷积和信息融合,有效捕获局部和全局信息。项目代码和详细配置可在 GitHub 和 CSDN 获取。
|
Oracle 关系型数据库 数据库
Oracle数据库协议适配器错误解决方法
Oracle数据库协议适配器错误解决方法
1223 2
el-select如何自定义下拉选项框的宽度
el-select如何自定义下拉选项框的宽度
2426 0
|
消息中间件 Java RocketMQ
Springboot 集成 Rocketmq 消费者|学习笔记
快速学习 Springboot 集成 Rocketmq 消费者
1789 1
Springboot 集成 Rocketmq 消费者|学习笔记
|
消息中间件 缓存 容灾
Apache Kafka-通过设置Consumer Group实现广播模式
Apache Kafka-通过设置Consumer Group实现广播模式
2393 0
|
Kubernetes Java 调度
SpringCloud-全面详解(学习总结---从入门到深化)
在互联网发展的初期,用户数量少,一般网站的流量也很少,但硬 件成本较高。
1818 0
SpringCloud-全面详解(学习总结---从入门到深化)