DDD的应用框架实践分享

2021/07/14 1176点热度 0人点赞 0条评论

分享一个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的分层结构;

  • 不要怕麻烦,一定要将业务逻辑和技术实现解耦;

yxkong

这个人很懒,什么都没留下

文章评论