美文网首页
DDD可落地的架构长什么样

DDD可落地的架构长什么样

作者: 后厂村老司机 | 来源:发表于2021-09-11 13:58 被阅读0次

    前言

    DDD可落地的架构长什么样都行,只要符合DDD的设计思想即可,但是不管怎样落地,分层结构中总会有Domain层。下面是我们落地的架构


    策略中心-第 3 页.png

    DDD可落地架构分层

    我们的架构参照了洋葱架构模型,洋葱架构模型依赖方向由内到外,即外边的层依赖里面的层。
    Domain层
    洋葱最里层,本层包含核心的业务逻辑,这套逻辑一般和某个业务核心赚钱逻辑直接相关,并且改变频率最低,属于稳定被依赖的层。我们在代码规范中要求Domain层的代码不允许依赖任何其他外部层,包括spring、mysql等,本层代码只写纯Java代码,如果有需要存储等,可以利用依赖倒置原则,依赖接口,实现在外层实现。这样可以保证Domain层无论在哪里都可以被应用。
    Domain层包括DDD战术设计的 聚合、实体、值对象、领域服务、领域事件、工厂、仓库等对象。
    ApplicationService层
    Domain的直接消费层,本层要很薄,服务方法里是业务流,即依赖Domain的对象的业务逻辑实现一套流程,编排这些业务逻辑。先做什么、后做什么、生成聚合Id、操作完之后保存聚合等。
    本层是Domain的一个边界,外部系统想要与Domain层交互必须通过Application层翻译。
    本层包括 DTO、DTOAssembler、Command、CommandHandler、ApplicationService等对象
    Infrastructure层
    基础设施层,负责实现领域层的接口,如RepositoryImpl,负责mysql、spring、redis等具体技术细节的实现,本层是洋葱较外层
    Interface层
    我们的技术架构里拆分出了interface层,这层的作用是给外部系统如前端等提供入口api,如controller,消息队列消费者、定时器等实现,本层消费Application层,利用Application的业务流完成自己的业务。

    相关文章

      网友评论

          本文标题:DDD可落地的架构长什么样

          本文链接:https://www.haomeiwen.com/subject/latawltx.html