好像最近几年 DDD 特别的火,关于 DDD 到底是银弹还是垃圾 的分析网络上还是挺多的。
最近组内一名同学迷恋上了领域驱动设计(DDD),原因是在极客上花钱学习了 DDD 的课程,然后一心想要在工作项目中加以实践,让理论落地~ 😂
一、DDD 分层架构
相信大部分了解 DDD 的开发者,持支持的观点主要认为:
DDD(Domain Driven Design,领域驱动设计)作为一种软件开发方法,它可以帮助我们设计高质量的软件模型。在正确实现的情况下,我们通过 DDD 完成的设计恰恰就是软件的工作方式。
业务系统设计的关键是在于如何定义系统的模型以及模型之间的关系,其中主要是领域模型的定义,当我们在模型确定之后,模型之间的关系也会随之明确。
Eric Evans 在《领域驱动设计-软件核心复杂性应对之道》这本书中提出了传统的四层架构模式。
简单概要理解如下:
-
接口层 Interface:主要负责与外部系统进行交互 &通信,比如一些 dubbo 服务、Restful API、RMI 等,这一层主要包括