DDD架构下跨限界上下文项目导出功能的设计问询
DDD架构下跨限界上下文项目导出功能的设计问询
我现在有三个子域名,被划分为三个独立的限界上下文(分别对应三个独立微服务):
- 项目限界上下文(Project BC):核心聚合根是Project,这个聚合根里只存储了用户ID和客户ID,用来关联其他限界上下文的模型
- 用户限界上下文(User BC):核心聚合根是User
- 客户限界上下文(Customer BC):核心聚合根是Customer
现在需要实现「将项目导出为XLS文件」的功能,导出的文件里除了项目自身的信息,每条项目还得带上对应的用户名和客户名称。另外我们已经确定要在限界上下文之间采用**防腐层(Anti-corruption Layer)**模式,这意味着项目限界上下文需要持有用户和客户的必要信息。
我有两个疑问想请教:
- 项目限界上下文里,应该把User和Customer作为独立的聚合,还是作为Project聚合内部的实体?
- 导出的业务逻辑应该放在哪里?目前有三个备选方向:
- (1)放在Project聚合内部
- (2)放在应用服务中
- (3)创建一个独立的聚合,包含导出模型和对应的业务逻辑
备注:内容来源于stack exchange,提问作者OLA
相关产品推荐
相关产品推荐

