ToB企服应用市场:ToB评测及商务社交产业平台

标题: DDD架构展示 [打印本页]

作者: 卖不甜枣    时间: 2024-12-25 17:24
标题: DDD架构展示
1 DDD分层架构

DDD 分层架构就是优化后的四层架构。 从上到下依次是:用户接口层、应用层、领域层和基础层。
1.1 DDD封层架构


DDD 分层架构有一个重要的原则:每层只能与位于其下方的层发生耦合
1.2 DDD架构与MVC架构比较

DDD 分层架构中的要素实在和三层架构类似,只是在 DDD 分层架构中,这些要素被重新归类,重新分别了层,确定了层与层之间的交互规则和职责边界。

2.整洁架构(洋葱架构)

在整洁架构里,同心圆代表应用软件的不同部分,从里到外依次是领域模型、领域服务、应用服务和最外围的容易变化的内容,比如用户界面和基础办法。
整洁架构最主要的原则是依赖原则,它定义了各层的依赖关系,越往里依赖越低,代码级别越高,越是核心本领。外圆代码依赖只能指向内圆,内圆不需要知道外圆的任何环境。

在洋葱架构中,各层的职能分别:
3.CQRS架构(更改查询隔离架构)

CQRS — Command Query Responsibility Segregation,故名思义是将 command 与 query 分离的一种模式。
command :下令则是对会引起数据发生变化操纵的总称,即我们常说的新增,更新,删除这些操纵,都是下令。
Query:查询则和字面意思一样,即不会对数据产生变化的操纵,只是按照某些条件查找数据。

实用场景:
缺点:
4. 六边形架构(端口适配器架构)

六边形架构的核生理念是:应用是通过端口与外部进行交互的
下图的红圈内的核心业务逻辑(应用程序和领域模型)与外部资源(包罗 APP、Web 应用以及数据库资源等)完全隔离,仅通过适配器进行交互。它解决了业务逻辑与用户界面的代码交织问题,很好地实现了前后端分离。六边形架构各层的依赖关系与整洁架构一样,都是由外向内依赖。

六边形架构将系统分为内六边形和外六边形两层,这两层的职能分别如下:红圈内的六边形实现应用的核心业务逻辑;外六边形完成外部应用、驱动和基础资源等的交互和访问,对前端应用以 API 主动适配的方式提供服务,对基础资源以依赖倒置被动适配的方式实现资源访问。六边形架构的一个端口可能对应多个外部系统,不同的外部系统也可能会利用不同的适配器,由适配器负责协议转换。这就使得应用程序可以大概以一致的方式被用户、程序、主动化测试和批处理脚本利用。
总结


这三种架构模型的计划思想微服务架构高内聚低耦合原则的完善体现,而它们身上闪耀的正是以领域模型为中心的计划思想,将核心业务逻辑与外部应用、基础资源进行隔离。
红色框内部主要实现核心业务逻辑,但核心业务逻辑也是有差异的,有的业务逻辑属于领域模型的本领,有的则属于面向用户的用例和流程编排本领。按照这种功能的差异,我们在这三种架构中分别了应用层和领域层,来承担不同的业务逻辑。
领域层实现面向领域模型,实现领域模型的核心业务逻辑,属于原子模型,它需要保持领域模型和业务逻辑的稳固,对外提供稳固的细粒度的领域服务,以是它处于架构的核心位置。
应用层实现面向用户操纵相关的用例和流程,对外提供粗粒度的 API 服务。它就像一个齿轮一样进行前台应用和领域层的适配,接收前台需求,随时做出相应和调整,尽量避免将前台需求传导到领域层。应用层作为配速齿轮则位于前台应用和领域层之间。
出自:https://www.jianshu.com/p/36c76dbaa20c

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4