Clean Architecture 中具有多个响应列表的用例

UseCase with multiple response lists in Clean Architecture

我正在为我的 Android 应用程序使用 Clean Architecture 原则。 我有一个包含两个列表的仪表板屏幕,一个列表包含提要,另一个列表包含事件。

对于这个屏幕,我有一个包含列表的 ViewModel

为了向 ViewModel 提供数据,我有一个名为 ViewDashboardUseCaseUseCase

UseCase 使用两个存储库,一个用于提要实体,另一个用于事件实体。

考虑到这些信息,我有几个问题:

在 2017 年 Google 开发者日上,Florina 评论了将屏幕分成她所谓的 "logical units" 然后在单独的 LiveData 上观察这些逻辑单元。 基本上,您将创建两个视图状态(或者我相信,用例,在您的代码中),然后用列表填充每个视图状态。最后,使用两个 LiveData 将这些视图状态公开给您的视图。

这是会议视频:https://www.youtube.com/watch?v=Ts-uxYiBEQ8 她在 8 分钟左右开始谈论这些。

Should I create two UseCases?

是的,每个 Repository.

你应该使用一个 UseCase

根据您需要的列表是 "fed separately"(一次一个)还是 "combined"(同时),ViewModel 可能会使用两个 UseCases 或一个新的 UseCase 两者的组合。