老师,我在DDD 的实践过程中,遇到两个问题: 1. 业务逻辑包含在Aggregate A中,而业务逻辑往往需要查询多个其他aggregate , 但是 Aggregate 又不能用 @Autowired 的方式来注入service/repository, 所以我的做法是首先将依赖的aggregate 查询出来,再作为参数传入到处理业务的aggtegate A中,感觉这种做法并不是很好,因为查询aggregate B 的参数也是业务逻辑的一部分,所以无法真正将业务逻辑收在 Aggregate A 里面, 希望老师指点一下!
2. 我们的aggregate 关联链条很长,A -> B-> ... -> G , 并且,业务逻辑中往往需要用到这些关联的数据,如果用@ManyToMany的方式,就会使得 Aggregate 特别大,查询效率也很慢,还有就是循环依赖的问题,以前的做法都是用一个中间关联表来记录,但是这样好像是面向表编程,按照DDD,应该怎么设计呢? 如何在Aggregate 中来实现这些业务逻辑呢?
展开