DDD的应用框架实践分享
Posted 鱼翔空
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DDD的应用框架实践分享相关的知识,希望对你有一定的参考价值。
分享一个DDD的应用框架,写了一个简单的demo。
已经在在生产实践。
git地址:
https://github.com/yxkong/ddd-framework
框架结构如下:
项目结构如下:
示例流程图:
简单说明:
-
只启动一个应用在adapter层启动;
-
接口请求到adapter层,调用DistributeController;
-
controller层做上下文转化以及调用application层;
-
application层进行模型依赖构建,以及领域执行前后的特殊处理;
-
domain层进行了业务逻辑实现(和技术框架无关),通过gateway做防腐层;
-
infrastructure层进行具体技术的实现;
注意事项:
-
业务逻辑和技术实现无关,和数据库存储无关;
-
关键业务的数据库实体不要引入到domain层,在infrastructure将数据DO转换成领域实体,不要怕麻烦;
-
这个应用框架里,没有做全充血,领域实体只处理了基本业务逻辑判断,将一些通用方法暴露,具体落库操作,通过gateway执行;
-
gateway防腐层,具体实现可以自己处理,只要能保证业务的最终一致性即可;
-
领域上下文,可以按具体的领域功能划分,可以细致到接口层级,如果接口底层共用,则抽取;
-
弱化了值对象、领域实体的作用,简单的增删改,可以直接绕过domain层执行;
-
该应用架构只是参考了DDD的思想,并没有严格按照DDD的分层结构;
-
不要怕麻烦,一定要将业务逻辑和技术实现解耦;
如果觉得对你有帮助,请关注公众号:5ycode,后续会不断更新哦
以上是关于DDD的应用框架实践分享的主要内容,如果未能解决你的问题,请参考以下文章