└── 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的选择