今天主要是学习DDD第七讲分层架构

一.DDD****分层架构:有效降低层与层之间的依赖

首先看下整体的架构图

DDD 分层架构概述

DDD(领域驱动设计)分层架构是一种将软件系统划分为不同层次的设计方法,以提高系统的可维护性和扩展性。以下是对各层的概述和它们之间的关系:

用户接口层用户接口层是系统的前端,负责向用户展示信息和接收用户指令。这里的用户可以是普通用户、程序或自动化测试和批处理脚本等。

应用层应用层是系统的中间层,主要负责协调业务流程和用例的执行。它不包含业务规则或逻辑,而是通过调用领域层的服务来实现业务需求。同时,应用层还负责微服务间的交互、安全认证、权限校验、事务控制以及领域事件的发送和订阅。

领域层领域层是系统的核心,专注于实现企业的核心业务逻辑。它通过聚合根、实体、值对象、领域服务等模型来表达业务概念、状态和规则。领域层通过严格的校验确保业务的正确性。

基础层基础层为系统提供通用的技术和基础服务,如数据库持久化、消息中间件、文件系统等。它通过封装基础资源服务,实现与其他层的解耦,降低外部资源变化对系统的影响。

DDD 分层架构原则DDD 分层架构最重要的原则是每层只能与位于其下方的层发生耦合。这种严格分层架构有助于提高系统的可管理性。例如,当领域层发生变更时,只需通知依赖于它的上层服务,而无需全局通知。

架构设计的重要性理解DDD架构设计对于编写高质量代码至关重要。它指导我们如何合理地组织代码,确保业务逻辑的清晰和系统的可维护性。