六边形架构将系统分为内六边形和外六边形两层,这两层的职能分别如下:红圈内的六边形实现应用的核心业务逻辑;外六边形完成外部应用、驱动和基础资源等的交互和访问,对前端应用以 API 主动适配的方式提供服务,对基础资源以依赖倒置被动适配的方式实现资源访问。六边形架构的一个端口可能对应多个外部系统,不同的外部系统也可能会利用不同的适配器,由适配器负责协议转换。这就使得应用程序可以大概以一致的方式被用户、程序、主动化测试和批处理脚本利用。
总结
这三种架构模型的计划思想微服务架构高内聚低耦合原则的完善体现,而它们身上闪耀的正是以领域模型为中心的计划思想,将核心业务逻辑与外部应用、基础资源进行隔离。
红色框内部主要实现核心业务逻辑,但核心业务逻辑也是有差异的,有的业务逻辑属于领域模型的本领,有的则属于面向用户的用例和流程编排本领。按照这种功能的差异,我们在这三种架构中分别了应用层和领域层,来承担不同的业务逻辑。
领域层实现面向领域模型,实现领域模型的核心业务逻辑,属于原子模型,它需要保持领域模型和业务逻辑的稳固,对外提供稳固的细粒度的领域服务,以是它处于架构的核心位置。
应用层实现面向用户操纵相关的用例和流程,对外提供粗粒度的 API 服务。它就像一个齿轮一样进行前台应用和领域层的适配,接收前台需求,随时做出相应和调整,尽量避免将前台需求传导到领域层。应用层作为配速齿轮则位于前台应用和领域层之间。
出自:https://www.jianshu.com/p/36c76dbaa20c