DDD与洋葱架构

DDD与洋葱架构

一、洋葱架构简介

1.1 洋葱架构的起源

洋葱架构是08年一位大佬提出的,相关博客链接如下:https://jeffreypalermo.com/2008/08/the-onion-architecture-part-3/

1.2 洋葱架构图


DDD与洋葱架构
洋葱圈架构.png


1.3 核心要素介绍

通过架构图可以知道,核心要素主要有测试,用户接口,业务逻辑,基础设施这些。从图中可以得出下面几个信息

1.基础设施在圈内达到复用的目的,外层只依赖内层,内层更加稳定2.业务逻辑在应用核心中有两层,方便沉淀业务逻辑3.没有从领域建模的角度区分,因此洋葱架构可以单独拿来使用

二、洋葱架构的关注点

2.1 分层

洋葱架构通过同心圆的方式阐述了这种分层的策略,将内层与外层的职责和定位描述清楚,同时也通过分层表达了依赖反转的原则。

2.2 业务与技术分离

这里的业务包括接入层,业务逻辑层,因此并没有从领域建模的角度看,所以更容易接纳,另外一方面通过基础设施这一层来屏蔽技术复杂度则是洋葱架构的一个核心关注点。同时基础设施层在领域建模中也确实做到了帮助业务和技术分离的目的。

三、洋葱架构的变形模式

3.1 内聚模式

DDD与洋葱架构
第二种洋葱圈架构.png


注意看与第一张图的区别,这里的图中将领域模型放在圆心之内也突出了其稳定性,同时更加明确了应用层的两层业务逻辑定位。将基础设施放在圈外只是作为一种实现,这种变化是将所有接口统一由应用层把控。这样的话与DDD的架构模式更加贴近,也更稳定。

3.2 分层模式


DDD与洋葱架构
洋葱圈架构的分层展示.png


这是洋葱架构的分层模式,通过分层架构图我们可以看到以下几个信息:

1.分层架构模式的洋葱架构更贴近于传统分层架构2.分层架构模式更容易看到有哪些接入层,客户端3.分层架构模式屏蔽了基础设施层进而将技术部分屏蔽,更容易理解


原文始发于微信公众号(神帅的架构实战):DDD与洋葱架构

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/241744.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!