当前位置: 首页>后端>正文

关于DDD的想法

什么是DDD

DDD全称是Domain Driven Design,翻译为中文通常叫做领域驱动设计,最早在2004年由Eric Evans在著作《Domain-Driven Design –Tackling Complexity in the Heart of Software》中提出相应的概念,不仅仅是一种从系统分析的设计思想,还包含了最终软件建模落地的一套完整方法论。

为什么选择DDD进行开发

总的来说,DDD诞生已经20年,近期又火起来的原因是随着微服务概念的兴起,以及当前中国互联网逐渐发展成熟而导致业务日益复杂,随之而来的是项目复杂度飙升,为了更快的承接业务需求,提升开发效率,在DDD这套思想与方法论的指导下,能够将业务模型抽象画、简单化,在代码项目进行封装与解耦,提升了可读性和可维护性。

DDD的好处:

1. 实际业务与项目代码关系更明确,可读性更好,便于维护

2. 业务代码与纯技术基础代码隔离,在开发中能加快开发效率

3. 合理的分层能够明显降低项目复杂度,多人员协同与后期新增功能更简单,人效比相对较高,符合互联网高速迭代的诉求

4. 不仅仅适用于微服务架构,也适用于单体项目,DDD是一种长期的思想与持续落地的过程,最终实现项目全周期可持续发展

如何在DDD的框架下进行开发

简单描述DDD从业务到项目落地的流程大致为:开发团队和领域专家一起通过通用语言(Ubiquitous Language)去理解和消化领域知识,从领域知识中提取和划分为一个一个的子领域(核心子域,通用子域,支撑子域),并在子领域上建立模型,再重复以上步骤,这样周而复始,构建出一套符合当前领域的模型。

关于DDD的想法,第1张

DDD和MVC的区别

1. 是不同层面的设计思想。DDD是更高维度的设计思想,思考的是更贴合业务诉求;MVC是过去业务不那么复杂的情况下,在单个业务项目中,解耦代码便于团队协作的一种最佳实践

2. 出发点不同。DDD思考的是技术落地如何更贴合业务,MVC思考的是技术落地团队协作通用范式

3. DDD属于更通用的软件设计思想,MVC是Java Spring框架中对于Web项目沉淀后的一种编码方式


https://www.xamrdz.com/backend/3vg1941845.html

相关文章: