栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

为什么要用DDD(领域驱动设计)?

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么要用DDD(领域驱动设计)?

什么是DDD

DDD全称领域驱动设计,是一种设计思想,可以用来指导微服务的落地
从名字上就可以看出来,领域是核心,至关重要,所有的设计必然是基于领域。

为什么要用DDD? 三层架构

相信绝大多数从事java开发的人员,基本上接触的都是三层架构,其中视图层是比较薄的,
而数据访问层主要是基于Mybatis、JPA等持久化框架,业务逻辑和对数据的操作都是放到逻辑层。

在实际开发中,三层架构很容易导致逻辑层越来越臃肿,或者开发人员将一部分业务逻辑通过数据访问层(sql)来进行实现,导致代码越来越臃肿和难以理解。

而且三层架构中技术和业务逻辑是耦合到一起的,如果数据访问层更换一个框架,如JPA修改为Mybatis。必然需要同时修改逻辑层和数据访问层。而DDD对这些问题都有相应的解决方案。

DDD四层架构

1.用户接口层

面向前端提供接口,可以增加权限校验、日志记录等功能。

2.应用层

应用层原则上没有任何业务逻辑,是很薄的一层,可以用来协调领域层。微服务之间的调用可以放到应用层。

3.领域层

领域层专注于业务逻辑,领域对象的持久化交给基础设施层,将业务与技术分离。

4.基础设施层

负责领域对象的持久化,同时也为其他层提供通用的技术支持。

DDD四层架构的优点

DDD四层架构和三层架构的对比中,可以看出四层架构中,领域层专注于业务,基础设施层专注于技术,使业务与技术实现解耦分离。极大的提高了代码的可维护性,这也是我在今年开发DDD项目最大的感悟。

小结

从去年底开始接触DDD,本篇文章主要是讲解了我在使用DDD过程中的感悟与理解,一句话概括:指导微服务的落地,业务与技术分离。时间有限,今天先写到这里,后续有时间会写一个DDD demo分享给大家,也欢迎大家斧正。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/685392.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号