我们是否需要为域中的每个方法创建UseCases
接口?Android Clean Architecture UseCase用于存储库的每种方法?
例如,假设我有这样的仓库接口
interface ThingRepository {
void create(Thing thing);
void delete(Thing thing);
List<Thing> readAll();
int size();
}
正如你可以看到有size()
方法,在数据库或文件返回的记录数,等等。而且这种方法非常快。 我想这个方法不需要UseCase
,因为它不会阻塞UI
线程并且可以同步执行。
所以,你可以解释我,当你创建UseCase
和当你不这样做。基本上有UseCase
创建任何规则?
对不起,如果在这个问题上有一些误解。
在此先感谢;)
而且我开了Android的CleanArchitecture回购相同issue在GitHub上,但没有人回答了这个问题还没有,这就是为什么我问这里。
UseCases旨在表示高级别域逻辑,如“获取用户列表”。获取用户列表可能会从网络或本地存储库或其他方法中获取内容。您不希望它是与存储库的1对1映射,因为存储库位于架构中的不同层上。域与数据之间的1对1映射将会破坏将它们分开的目的。 – drhr
@drhr所以在我的情况下,你建议我不要创建UseCase? –
@drhr“域与数据之间的1对1映射会破坏将它们分开的目的”我知道,在这种情况下,我猜MVP的用法更好,但是对于我的情况,您可以提出什么建议? –