参加与其他几个班级有关系的班级。第一类可以看作是聚合(根)。从服务层的角度来看,如何最好地拆分调用?
- 调用整个对象图的聚合存储库,并从该特定存储库调用其他存储库来处理关系的保存(每种类型的类一个存储库。
- 调用整个对象图的聚合存储库并在一个方法中处理所有内容(因此将所有关系保存在同一方法中)。
- 在服务层中,调用聚合的存储库,然后直接从服务层调用相关类的存储库。
- 在服务和存储库之间添加一个额外的层,并在该额外层中执行选项 3 中的操作。
我已经在生产代码中看到了所有 3 种可能的解决方案,但我对最干净的解决方案以及选择这种方法的原因很感兴趣。