简述 DDD架构对比MVC架构的优势

简述 DDD架构对比MVC架构的优势

​ DDD 架构这个词汇越来越活跃在开发人员的世界里,相比较于传统的MVC三层架构,DDD架构的优势有体现在什么地方?

1. DDD四层架构
  • 架构简介

    DDD(Domain-Driven Design 领域驱动设计)是由Eric Evans最先提出,目的是对软件所涉及到的领域进行建模,以应对系统规模过大时引起的软件复杂性的问题。整个过程大概是这样的,开发团队和领域专家一起通过 通用语言(Ubiquitous Language)去理解和消化领域知识,从领域知识中提取和划分为一个一个的子领域(核心子域,通用子域,支撑子域),并在子领域上建立模型,再重复以上步骤,这样周而复始,构建出一套符合当前领域的模型。

    简述 DDD架构对比MVC架构的优势_第1张图片

  • 架构特色

    • 不会污染功能和服务
    • 高可用的应用服务
    • 组转化的服务
2. DDD架构的优势
  • MVC三层架构和DDD四层架构对比

    简述 DDD架构对比MVC架构的优势_第2张图片

  • 便于代码重构


传统的MVC架构下,我们假设有以下场景:

domain: Ax.java Bx.java

dao: AxDao BxDao

service: AxService BxService

当项目体积不断扩展,业务逐步复杂,不规范的开发就会带来一些问题——“牵一发而动全身”

为了开发便捷,可能会在 AxService 中引入BxDao或过多其他Dao和实体,将来如果要对AxService中功能进行重构,将变得非常困难。


而DDD架构下,每个领域下都有独立的domain,model, repositery, service四层架构,由于包隔离的关系,服务之间就不会存在复杂的依赖关系

所以DDD架构更加灵活且便于重构。

你可能感兴趣的:(软件工程,DDD架构,架构,mvc,java,后端)