展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

ddd:六层架构

  • 架构
└── demo
    ├── sscheduler    
    |
    ├── context	# 环境层
    |
    ├── transaction	# 事务层
    |
    ├── domain    
    |   ├── object
    |   |	 ├── aggregate1     
    |   |   └── aggregate2 
    |   |
    |   └── role
    |   	 ├── role1  	# 接口 + 实现类
    |       └── role2 
    |
    ├── infrastructure    
    |   ├── config
    |   ├── common
    |   └── uitl
    |
    └── interfaces    
        ├── validator   
             ├── handler   
        ├── assembler       
        ├── vo
        └── facade     
  • 个人理解
Scheduler是调度层,负责多进程管理及调度、多线程管理及调度、多协程调度和维护业务实例的状态模型;
    当调度层收到用户接口层的请求后,委托Transaction层与本次操作相关的事务进行处理
    
Context是环境层,以Action为单位,处理一条同步消息或异步消息,将Domain层的领域对象cast成合适的role,让role交互起来完成业务逻辑

Transaction是事务层,对应一个业务流程,比如UE Attach,将多个同步消息或异步消息的处理序列组合成一个事务,而且在大多场景下,都有选择结构;
    万一事务执行失败,则立即进行回滚;当事务层收到调度层的请求后,委托Context层的Action进行处理,常常还伴随使用Context层的Specification进行Action的选择
posted @ 2022-07-04 17:43  DogLeftover  阅读(72)  评论(0编辑  收藏  举报