领域驱动设计-day4

这篇博客探讨了微服务架构的三种常见模型——整洁架构、六边形架构(端口适配器架构),并进行了详细的对比和分析,强调了架构中红色线框作为重要分界线的作用。
摘要由CSDN通过智能技术生成

一.微服务架构模型:几种常见模型的对比和分析

上节学习了DDD的分层架构,除了这种,还有整洁架构以及六边形架构。

首先看下整洁架构。

整洁架构

整洁架构又名“洋葱架构”或者clean架构
    在整洁架构里,同心圆代表应用软件的不同部分,从里到外依次是领域模型、领域服务、应
用服务和最外围的容易变化的内容,比如用户界面和基础设施。
     整洁架构最主要的原则是依赖原则,它定义了各层的依赖关系, 越往里依赖越低,代码级别
越高,越是核心能力。 外圆代码依赖只能指向内圆,内圆不需要知道外圆的任何情况。
各层的职能是这样划分的:
     领域模型实现领域内核心业务逻辑,它封装了企业级的业务规则。领域模型的主体是实
体,一个实体可以是一个带方法的对象,也可以是一个数据结构和方法集合。
    领域服务实现涉及多个实体的复杂业务逻辑。
    应用服务实现与用户操作相关的服务组合与编排,它包含了应用特有的业务流程规则,
封装和实现了系统所有用例。 最外层主要提供适配的能力,适配能力分为主动适配和被动适配。主动适配主要实现外 部用户、网页、批处理和自动化测试等对内层业务逻辑访问适配。被动适配主要是实现 核心业务逻辑对基础资源访问的适配,比如数据库、缓存、文件系统和消息中间件等。
红圈内的领域模型、领域服务和应用服务一起组成软件核心业务能力。

六边形架构

六边形架构又名“端口适配器架构”。

六边形架构的核心理念是:应用是通过端口与外部进行交互的。

也就是说,在下图的六边形架构中,红圈内的核心业务逻辑(应用程序和领域模型)与外部
资源(包括 APP、Web 应用以及数据库资源等)完全隔离,仅通过适配器进行交互。它解
决了业务逻辑与用户界面的代码交错问题,很好地实现了前后端分离。六边形架构各层的依
赖关系与整洁架构一样,都是由外向内依赖。
六边形架构将系统分为内六边形和外六边形两层,这两层的职能划分如下:
红圈内的六边形实现应用的核心业务逻辑;
外六边形完成外部应用、驱动和基础资源等的交互和访问,对前端应用以 API 主动适配
的方式提供服务,对基础资源以依赖倒置被动适配的方式实现资源访问。
六边形架构的一个端口可能对应多个外部系统,不同的外部系统也可能会使用不同的适配
器,由适配器负责协议转换。这就使得应用程序能够以一致的方式被用户、程序、自动化测
试和批处理脚本使用。

三种微服务架构模型的对比和分析

重点关注图中的红色线框,它们是非常重要的分界线,这三种架构里面都有,它的作用

就是将核心业务逻辑与外部应用、基础资源进行隔离。所以在我看来,这三种就是一个东西,都是要进行高内聚,低耦合的设计。
也有其他的学习者,也有这么认为的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值