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的应用框架实践分享的主要内容,如果未能解决你的问题,请参考以下文章

为啥说DDD是设计微服务的最佳实践?

COLA 4.0应用架构和DDD经典项目实践:货物运输系统

阿里DDD项目最佳实践-COLA 架构总览

供应链商品域DDD实践

.NET架构设计框架设计系列文章总结

DDD领域驱动设计实践 —— 业务建模小招数