【发布时间】:2023-03-05 14:22:01
【问题描述】:
在“干净架构”中,交互器(用例)负责定义业务逻辑。大多数示例都以这样的方式定义用例:
public MyUseCase() {
public boolean execute(...) {
int id = repository.insert(a)
if(id > 0) {
b.aId= id;
repository.insert(b);
...
}
}
}
交互器主要使用简单的 CRUD 之类的操作或对存储库的查询。 为简单起见,上面的示例是同步的,但您可以使用回调或 rxjava 等异步解决方案以相同的方法找到 repos。
但是用例的不完整性怎么办。例如,您不能 100% 确定插入 a 后,当您插入 b 时它仍然存在。
如果在插入 a 后,您在插入 b 时遇到 RepositoryException 怎么办。
到目前为止我看到的所有回购都没有考虑到它,所以我的问题是:
上述干净架构问题的解决方案是什么?
【问题讨论】:
标签: clean-architecture interactors