DDD层和清洁架构

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DDD层和清洁架构相关的知识,希望对你有一定的参考价值。

参考技术A DDD层和清洁架构

基于域驱动的解决方案有四个基本层;

业务逻辑 分为两层,即 域层 和 应用程序层 ,它们包含不同种类的业务逻辑。

域层 实现了域/系统的核心,与用例无关的业务逻辑。

应用程序层 基于域实现 应用程序 的用例。用例可以看作是用户界面(UI)上的用户交互。

表示层 包含应用程序的UI元素(页面,组件)。

基础结构 层通过实现对第三方库和系统的抽象和集成来支持其他层。

相同的层次结构可以如下图所示,称为“ 干净架构” ,有时也称为“ 洋葱架构” :

在Clean Architecture中,每个层仅 取决于直接位于其内部的层 。最独立的层显示在最内圈,它是域层。

阿里DDD项目最佳实践-COLA 架构总览

DDD分层架构、六边形架构、洋葱圈架构、以及 COLA 架构的核心职责就是要做核心业务逻辑和技术细节的分离和解耦。
 
在架构思想上,COLA 主张像六边形架构那样,使用端口-适配器去解耦技术细节;主张像洋葱圈架构那样,以领域为核心,并通过依赖倒置反转领域层的依赖方向。最终形成如下图所示的组件关系。

 

 

换一个视角,从 COLA 应用处理响应一个请求的过程来看。COLA 使用了 CQRS 来分离命令和查询的职责,使用扩展点和元数据来提升应用的扩展性。整个处理流程如下图所示:

 

 《COLA 4.x架构入门和项目实践》技术专栏首先介绍了COLA框架的使用入门,以及与IDEA开发工具的集成等等;然后基于COLA架构,创建DDD经典示例项目-货物运输系统,详细介绍了DDD领域建模、适配层、应用层、领域层和基础设施层的代码开发、防腐层(ACL)设计与实现、领域事件(Domain Event)入门实践、以及基于Kafka消息中间件的消息发布和订阅等等。内容由浅入深,从开发实战出发,逐步掌握基于COLA架构和DDD领域建模思想构建复杂业务应用系统。

 



以上是关于DDD层和清洁架构的主要内容,如果未能解决你的问题,请参考以下文章

DDD设计

DDD设计

DDD学习笔记1——分层架构

DDD—分层架构洋葱架构六边形架构

阿里DDD项目最佳实践-COLA 架构总览

ddd 架构设计——abp